Java的Struts框架中標籤的使用方法
經常有一些附帶導航規則的結果。例如,如果在操作方法是對用户進行驗證,有三種可能的結果。 (一)成功登錄;(二)不成功的登錄,用户名或密碼錯誤;(三)帳户鎖定。
在這種情況下的動作方法將被配置呈現的結果有三種可能的結果字符串和三個不同的看法。我們已經看到在前面的例子。
但是,Struts2 不配合使用JSP作為視圖技術。畢竟MVC範例的整個目的是保持獨立的層,高度可配置的。例如,對於一個Web2.0的客户端,可能希望返回XML或JSON作為輸出。在這種情況下,可以創建一個新的結果類型為XML或JSON和實現這一目標。
Struts的一些預定義的結果類型,無論我們已經看到了,這是默認的結果類型,它是用來調度調度到JSP頁面。 Struts 允許使用其它標記語言的技術呈現的`結果和流行的選擇,包括 Velocity, Freemaker, XSLT 和Tiles.
分發結果類型:
調度程序的結果類型是缺省類型,並使用,如果沒有其他的結果類型被指定。它被用來轉發到一個servlet,JSP,HTML頁面,等等,在服務器上。它使用ard()方法。
在我們前面的例子中,我們看到了“shorthand”的版本,在那裏我們提供了身體的結果標籤 JSP路徑。
我們也可以指定JSP文件中使用一個的標籤內
我們還可以提供一個分析參數,默認為true。解析參數位置參數決定是否將被解析為OGNL表達式。
FreeMaker結果類型:
在這個例子中,我們將看到我們如何使用FreeMaker作為視圖技術。 freemaker是一種流行的模板引擎,用於使用預定義的模板來生成輸出。讓我們Freemaker模板創建一個文件稱為以下內容:
Hello World ${name}
在這裏,上述文件是一個模板的名字是從外面使用已定義的動作,將傳遞一個參數置。會保持這個文件在CLASSPATH中。接下來,讓我們修改中指定結果如下:
<"1.0" encoding="UTF-8">
讓我們使用前面的 ,和文件。現在右鍵點擊項目名稱,並單擊Export > WAR File創建一個WAR文件。然後部署這個WAR在Tomcat的webapps目錄下。最後,啟動Tomcat服務器和嘗試訪問URL http://localhost:8080/HelloWorldStruts2/。這會給出以下畫面:
輸入一個值“Struts2”,並提交頁面。應該看到翻頁
正如看到,這是完全一樣的JSP視圖,但我們是不依賴於使用JSP作為視圖技術。在這個例子中,我們已經使用Freemaker。
重定向結果類型:
重定向的結果類型,調用的是標準Redirect() 方法,使瀏覽器建立一個新的請求發送到給定的位置。
我們可以提供無論是在體內的
因此,只要修改文件,定義如上所述重定向類型,並創建一個新的文件,在那裏會被重定向 Hello時動作將返回成功到NewWorld.jpg。也可以checkStruts2 重定向操作的例子,為了更好的理解。