04. struts2中Result配置的各類視圖轉發類型

概述

<action name="helloworld" class="com.liuyong666.action.HelloWorldAction">
    <result name="success">/WEB-INF/page/hello.jsp</result>
</action>
  • result配置相似於struts1中的forward,但struts2中提供了多種結果類型,經常使用的類型有:jsp

    • dispatcher(默認值)
    • redirect(重定向)
    • redirectAction
    • plainText
  • 經過type屬性值指定。

結果類型

  • redirect編碼

    • 在result中還能夠使用${屬性名}表達式訪問action中的屬性,表達式裏的屬性名對應action中的屬性。以下:
    • <result type="redirect">/view.jsp?id=${id}</result>
  • redirectActionspa

    • 若是重定向的action在同一個包下:
    • <result type="redirectAction">helloworld</result>
    • 若是重定向的action在別的命名空間下:
    • <result type="redirectAction">
              <param name="actionName">helloworld</param>
              <param name="namespace">/test</param>
      </result>
  • plainTextcode

    • 顯示原始文件內容,例如:當咱們須要原樣顯示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>
  • 多個包想使用同一個結果集,能夠利用包的繼承,實現代碼重用。xml

    • 建立一個名叫"base"的package,讓它繼承"struts-default"
    • 該package裏放入共用的global-results
    • 想要使用該結果集的包繼承"base"

相關文章
相關標籤/搜索