【Struts2复习知识点十五】-struts.xml中返回的结果类型

Result类型

  1. dispatcher
  2. redirect
  3. chain
  4. redirectAction
  5. freemarker
  6. httpheader
  7. stream
  8. velocity
  9. xslt
  10. plaintext
  11. tiles

struts.xml

View Code
<struts>
<constant name="struts.devMode" value="true" />
<package name="resultTypes" namespace="/r" extends="struts-default">
<action name="r1">
<!-- 服务器跳转, 跳转jsp等页面 不能是action -->
<result type="dispatcher">/r1.jsp</result>
</action>

<action name="r2">
<!-- 客户端跳转 页面 也不能是action -->
<result type="redirect">/r2.jsp</result>
</action>

<action name="r3">
<!-- forward 方式 客户端跳转 可以是action-->
<result type="chain">r1</result>
</action>

<action name="r4">
<!-- 客户端跳转到另一个action-->
<result type="redirectAction">r2</result>
</action>

</package>
</struts>

JSP

View Code
<a href="r/r1">dispatcher</a>
<a href="r/r2">redirect</a>
<a href="r/r3">chain</a>
<a href="r/r4">redirectAction</a>


注意访问地址栏的变化及页面显示。

 <result type="chain">r1</result>

  要是跳到不同的包下,需要加参数。请参看文档。

重定向和转发的区别

1.  重定向时浏览器上的网址改变      转发是浏览器上的网址不变

2.  重定向实际上产生了两次请求      转发只有一次请求 

3.  重定向时的网址可以是任何网址    转发的网址必须是本站点的网址

重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。

你可能感兴趣的:(struts.xml)