在strtus-default.xml文件中配置请求转发的代码如下:
<result-type name="dispatcher"
class="org.apache.struts2.dispatcher.ServletDispatcherResult" default="true"/>
default="true"说明了dispatcher是作为Struts2默认的结果类型。
对应“dispatcher”返回类型可以设置两个参数:location和parse:
location
用来指定具体物理视图信息(这里指具体的JSP页面)
parse
默认值是“true”。通过该参数的使用,系统会对结果配置信息中的OGNL表达式进行解析、运算,并用运算结果替换掉原有OGNL表达式。可以在配置结果的时候使用动态页面和动态URL,例如配置的结果信息为/jsp/success.jsp?userName=${userName},当在实际运行时这个结果信息就会被替换为/jsp/success.jsp?userName=admin。如果没有特殊的需要,必须将自动解析OGNL表达式功能关闭。
在配置结果类型为dispatcher的时候,需要注意以下几个方面:
· 请求转发只能将请求转发至同一个WEB应用;
· 利用请求转发浏览器地址栏不会发生变化;
· 利用请求转发调用者与被调用者之间共享相同的request和response对象,他们属于同一个访问请求和响应
重定向和请求转发都能够实现相同的功能,他们的区别是:重定向需要两次请求完成工作,请求转换只需要一次即可完成。