概述
<action name="helloworld" class="com.liuyong666.action.HelloWorldAction">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
- result配置類似於struts1中的forward,但struts2中提供了多種結果類型,常用的類型有:
- dispatcher(默認值)
- redirect(重定向)
- redirectAction
- plainText
- 通過type屬性值指定。
結果類型
-
redirect
-
在result中還可以使用${屬性名}表達式訪問action中的屬性,表達式裏的屬性名對應action中的屬性。如下:
-
<result type="redirect">/view.jsp?id=${id}</result>
-
-
redirectAction
-
如果重定向的action在同一個包下:
-
<result type="redirectAction">helloworld</result>
-
如果重定向的action在別的命名空間下:
-
<result type="redirectAction"> <param name="actionName">helloworld</param> <param name="namespace">/test</param> </result>
-
-
plainText
-
顯示原始文件內容,例如:當我們需要原樣顯示jsp文件源代碼的時候,我們可以使用此類型。
-
<result name="source" type="plainText"> <param name="location">/xxx.jsp</param> <param name="charSet">UTF-8</param><!-- 指定讀取文件的編碼 --> </result>
-
全局結果集(Globle Result)
-
當有多個Action使用同一個結果集時,則可以使用全局結果集(Globle Result),如下:
-
<global-results> <!-- 定義在包裏 --> <result name="mainpage">/main.jsp</result> </global-results>
-
多個包想使用同一個結果集,可以利用包的繼承,實現代碼重用。
- 創建一個名叫"base"的package,讓它繼承"struts-default"
- 該package裏放入共用的global-results
- 想要使用該結果集的包繼承"base"