- 相關(guān)推薦
Java的Struts框架中標簽的使用方法
經(jīng)常有一些附帶導航規則的結果。例如,如果在操作方法是對用戶(hù)進(jìn)行驗證,有三種可能的結果。 (一)成功登錄;(二)不成功的登錄,用戶(hù)名或密碼錯誤;(三)帳戶(hù)鎖定。
在這種情況下的動(dòng)作方法將被配置呈現的結果有三種可能的結果字符串和三個(gè)不同的看法。我們已經(jīng)看到在前面的例子。
但是,Struts2 不配合使用JSP作為視圖技術(shù)。畢竟MVC范例的整個(gè)目的是保持獨立的層,高度可配置的。例如,對于一個(gè)Web2.0的客戶(hù)端,可能希望返回XML或JSON作為輸出。在這種情況下,可以創(chuàng )建一個(gè)新的結果類(lèi)型為XML或JSON和實(shí)現這一目標。
Struts的一些預定義的結果類(lèi)型,無(wú)論我們已經(jīng)看到了,這是默認的結果類(lèi)型,它是用來(lái)調度調度到JSP頁(yè)面。 Struts 允許使用其它標記語(yǔ)言的技術(shù)呈現的結果和流行的選擇,包括 Velocity, Freemaker, XSLT 和Tiles.
分發(fā)結果類(lèi)型:
調度程序的結果類(lèi)型是缺省類(lèi)型,并使用,如果沒(méi)有其他的結果類(lèi)型被指定。它被用來(lái)轉發(fā)到一個(gè)servlet,JSP,HTML頁(yè)面,等等,在服務(wù)器上。它使用RequestDispatcher.forward()方法。
在我們前面的例子中,我們看到了“shorthand”的版本,在那里我們提供了身體的結果標簽 JSP路徑。
我們也可以指定JSP文件中使用一個(gè)的標簽內
我們還可以提供一個(gè)分析參數,默認為true。解析參數位置參數決定是否將被解析為OGNL表達式。
FreeMaker結果類(lèi)型:
在這個(gè)例子中,我們將看到我們如何使用FreeMaker作為視圖技術(shù)。 freemaker是一種流行的模板引擎,用于使用預定義的模板來(lái)生成輸出。讓我們Freemaker模板創(chuàng )建一個(gè)文件稱(chēng)為hello.fm以下內容:
Hello World ${name}
在這里,上述文件是一個(gè)模板的名字是從外面使用已定義的動(dòng)作,將傳遞一個(gè)參數置。會(huì )保持這個(gè)文件在CLASSPATH中。接下來(lái),讓我們修改struts.xml中指定結果如下:
<"1.0" encoding="UTF-8">
讓我們使用前面的 HelloWorldAction.java,HelloWorldAction.jsp和index.jsp文件,F在右鍵點(diǎn)擊項目名稱(chēng),并單擊Export > WAR File創(chuàng )建一個(gè)WAR文件。然后部署這個(gè)WAR在Tomcat的webapps目錄下。最后,啟動(dòng)Tomcat服務(wù)器和嘗試訪(fǎng)問(wèn)URL http://localhost:8080/HelloWorldStruts2/index.jsp。這會(huì )給出以下畫(huà)面:
輸入一個(gè)值“Struts2”,并提交頁(yè)面。應該看到翻頁(yè)
正如看到,這是完全一樣的JSP視圖,但我們是不依賴(lài)于使用JSP作為視圖技術(shù)。在這個(gè)例子中,我們已經(jīng)使用Freemaker。
重定向結果類(lèi)型:
重定向的結果類(lèi)型,調用的是標準response.sendRedirect() 方法,使瀏覽器建立一個(gè)新的請求發(fā)送到給定的位置。
我們可以提供無(wú)論是在體內的
因此,只要修改struts.xml文件,定義如上所述重定向類(lèi)型,并創(chuàng )建一個(gè)新的文件,在那里會(huì )被重定向 Hello時(shí)動(dòng)作將返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,為了更好的理解。
【Java的Struts框架中標簽的使用方法】相關(guān)文章:
Java的Struts框架簡(jiǎn)介與環(huán)境配置步驟01-25
Java中ArrayList類(lèi)的使用方法04-12
java中set接口的使用方法07-09
java中File類(lèi)的使用方法07-21
講解Java的Spring框架中的AOP實(shí)現04-13
Java 集合框架05-12
java中運算符的使用方法02-23