<action name="helloworld" class="cn.xsy.action.HelloWorldAction">
<resultname="success">/WEB-INF/page/hello.jsp</result>
</action>
result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值,内部转发)、 redirect(重定向,资源不能放在WEB-INFO中)、redirectAction(重定向到action)、plainText(普通文本)。
在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下:
<result type=“redirect”>/view.jsp?id=${id}</result> 如果是中文需要通过URLEncoder进行编码,在jsp中
下面是redirectAction结果类型的例子,如果重定向的action中同一个包下:
<result type="redirectAction">helloworld</result>
如果重定向的action在别的命名空间下:type其实是一个java类 通过set方法赋值actionName、namespace【依赖注入】
<result type="redirectAction">
<param name="actionName">helloworld</param>
<paramname="namespace">/test</param>
</result>
plaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候,我们可以使用此类型。
<result name="source"type="plainText ">
<param name="location">/xxx.jsp</param>
<param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
</result>
当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts1中提供了全局forward,struts2中也提供了相似功能:【通过包的继承】
<package ....>
<global-results>
<resultname="message">/message.jsp</result>
</global-results>
</package>