在struts2中有很多项,我们平时的配置文件如下,如果不写的默认值会是什么呢?
- <package name="chj" namespace="/test" extends="struts-default">
- <action name="helloworld" class="com.chj.action.HelloWorldAction" method="execute" >
- <result name="success">/WEB-INF/page/hello.jsp</result>
- </action>
- </package>
1、如果没有为action指定class,默认是ActionSupport。
2、如果没有为action指定method,默认执行action中的execute() 方法。
3、如果没有指定result的name属性,默认值为success。
Action中result的各种转发类型:
- <span style="color:#000000;"><action name="helloworld" class="com.chj.action.HelloWorldAction">
- <result name="success">/WEB-INF/page/hello.jsp</result>
- </action></span>
result配置相当于forward, struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 redirectAction 、 plainText。
在result中还可以使用${属性名}表达式访问action中的属性,表达式里的属性名对应action中的属性。如下:
- <span style="color:#000000;"><result type="redirect">/view.jsp?id=${id}</result></span>
下面是redirectAction 结果类型的例子,如果重定向的action中同一个包下
- <span style="color:#000000;"><result type="redirectAction">helloworld</result>
- </span>
如果重定向的action在别的命名空间下:
- <span style="color:#000000;"><result type="redirectAction">
- <param name="actionName">helloworld</param>
- <param name="namespace">/test</param>
- </result>
- </span>
plaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码 的时候,我们可以使用此类型。
- <span style="color:#000000;"><result name="source" type="plainText ">
- <param name="location">/xxx.jsp</param>
- <param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
- </result>
- </span>
当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts2中提供了全局global-results中也提供了相似功能:
- <span style="color:#000000;"><package ....>
- <global-results>
- <result name="message">/message.jsp</result>
- </global-results>
- </package>
- </span>
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。