Struts2 result的结果类型总共有以下几个
如果结果类型没声明,默认是dispatcher(请求转发)
比较重要的几个类型:
dispatcher —— 请求转发到一个页面(默认),不可以用这种方式转发到一个action
chain —— 一个action请求转发至另一个 action
redirect —— 响应重定向到一个页面
redirectAction —— 一个action响应重定向至另一个 action
stream —— 文件下载
例如:
<action name="user_*" class="userAction" method="{1}">
<result name="login">login.jsp</result>
<result name="success" type="redirect">/index.jsp</result>
</action>
PS:转发与重定向的区别
区别一:
重定向时浏览器上的网址改变
转发是浏览器上的网址不变
区别二:
重定向实际上产生了两次请求
转发只有一次请求
重定向:
发送请求 -->服务器运行–>响应请求,返回给浏览器一个新的地址与响应码–>浏览器根据响应码,判定该响应为重定向,自动发送一个新的请求给服务器,请求地址为之前返回的地址–>服务器运行–>响应请求给浏览器
转发:
发送请求 -->服务器运行–>进行请求的重新设置,例如通过request.setAttribute(name,value)–>根据转发的地址,获取该地址的网页–>响应请求给浏览器
区别三:
重定向时的网址可以是任何网址
转发的网址必须是本站点的网址