【Struts2学习笔记(2)】Action配置中的各项默认值和Action中result的各种转发类型
一、Action配置中的各项默认值
<span style="font-size:18px;"><package name="itcast" namespace="/test" extends="struts-default">
<action name="helloworld" class="cn.itcast.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。</span>
二、Action中result的各种转发类型
<span style="font-size:18px;"><action name="helloworld" class="cn.itcast.action.HelloWorldAction">
<result name="success">/WEB-INF/page/hello.jsp</result>
</action>
(1)result配置类似于struts1中的forward,但struts2中提供了多种结果类型,常用的类型有: dispatcher(默认值)、 redirect 、 redirectAction 、 plainText。
<result type="redirect">/view.jsp?id=${id}</result>
<action name="redirectAction">
<result type="redirectAction">helloworld</result>
</action>
如果重定向的action在别的命名空间下:
<struts>
<package name="itcast" namespace="/control/employee" extends="base">
<action name="list" class="cn.itcast.action.HelloWorldAction" method="execute">
<result name="success" type="redirect">/employeeAdd.jsp?username=${username}</result>
</action>
<action name="redirect">
<result type="redirect">/employeeAdd.jsp</result>
</action>
<action name="redirectAction"> <!-- 不同的命名空间下的 -->
<result type="redirectAction">
<param name="actionName">xxx</param> <!-- action的名字-->
<param name="namespace">/control/department</param>
</result>
</action>
</package>
<package name="other" namespace="/control/department" extends="base">
<action name="xxx">
<result>/WEB-INF/page/hello.jsp</result>
</action>
</package>
</struts>
(4)plaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码 的时候,我们可以使用此类型。
<result name="source" type="plainText ">
<param name="location">/xxx.jsp</param>
<param name="charSet">UTF-8</param><!-- 指定读取文件的编码 -->
</result>