result配置类似于struts1中的forward,但Struts2中提供了多种结果类型,常用的类型有:dispatcher(默认值)、redirect、redirectAction、plainText。
1. dispatcher
<action name="helloworld" class="com.yd.HelloWorldAction>
<reslult name="success">/WEB-INF/page/hello.jsp</result>
</action>
2. 在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下
<result type="redirect">/view.jsp?id=${id}</result>
需求:当修改不成功时,需要重定向回修改页面;如果要传参数,则使用ognl表达式
3.下面是redirectAction结果类型的例子,如果重定向的action中同一个包下:
<result type="redirectAction">helloworld</result>
如果重定向的action在别的命名空间下:
<result type="redirectAction">
<param name="actionName">helloworld</param>
<param name="namespace">/test</param>
</result>
4. plaintext显示原始文件内容,例如:当我们需要原样显示jsp文件源代码的时候,我们可以使用此类型。
<result name="source" type="plainText">
<param name="location">/xxx.jsp</param>
<param name="charSet">UTF-8</param><!--指定读取文件的编码-->
</result>
5. redirect,重定向的jsp,不能访问web-inf下的jsp文件。
采用重定向的例子:
<action name="redirect">
<result type="redirect">/employeeAdd.jsp</result>
</action>