一、result结果类型应用
1.简单转发到页面dispatcher(默认值)
2.简单的转发到动作chain
方式一:
<result type="chain" name="success">chainAction</result>
方式二:
<result type="chain" name="success">
<param name="actionName">chainAction</param>
<!--name对应的chain的处理器中的setActionName()方法-->
</result>
注意:如果要转向的是在另外一个名称空间的动作,那么只能使用方式二
<package name="dispacherTest" namespace="/dispacherT" extends="struts-default">
<action name="dispacherT">
<result type="dispatcher" name="success">/dispatcher.jsp</result>
</action>
</package>
<package name="chainTest2" namespace="/chainT2" extends="struts-default">
<action name="chainT">
<result type="chain" name="success">
<param name="namespace">/dispacherT</param>
<!-- name值不能随意书写-->
<param name="actionName">dispacherT</param>
</result>
</action>
</package>
3.简单重定向
<action name="redirect">
<result type="redirect">/index.jsp</result>
</action>
4.传值的重定向(注意中文要转码)
<action name="redirect1" class="cn.xinhua.action.RedirectDemo" method="add">
<result type="redirect">/redirect.jsp?info=${infomation}</result>
<!--"${infomation}"在对应的action中有相应的成员变量,"info"可以在jsp页面 中用el表达式获取-->
</action>
5.重定向到action
<action name="redirect2">
<result type="redirectAction">redirect1</result>
</action>
6.跨包重定向到action
<package name="xinhua2" namespace="/test1" extends="struts-default">
<action name="redirect">
<result type="redirectAction">
<param name="namespace">/test</param>
<param name="actionName">redirect1</param>
</result>
</action>
</package>
7.显示源码
<action name="redirect3">
<result type="plainText">/plaintext.jsp</result>
</action>
<!-- 在源码中有中文的情况 -->
<action name="redirect4">
<result type="plainText">
<param name="location">/plaintext.jsp</param>
<param name="charSet">utf-8</param>
</result>
</action>
二、定义全局视图
1.在同一包中定义全局视图
<global-results>
<result name="success">/WEB-INF/page/global.jsp</result>
</global-results>
<action name="global" class="cn.java.action.RedirectDemo" method="add">
</action>
2.在不同的包中定义全局视图
<package name="all" extends="struts-default">
<global-results>
<result name="success">/WEB-INF/page/global.jsp</result>
</global-results>
</package>
<package name="xinhua" namespace="/test" extends="all">
<action name="global" class="cn.java.action.RedirectDemo" method="add">
</action>
</package>
三.动态方法调用:
1.不指定method属性
<s:form action="action名称!方法名称.action">
2.指定method属性
3.使用通配符
<action name="hellowrld_*" class="cn.java.HelloWordAction" method="{1}">
<result name="success">{1}.jsp</result>
</action>
访问路径如:localhost:8080/M-Struts/test/hellowrld_method.action
四.给action注入值
<action name="implant" class="cn.java.action.Implant" method="test">
<param name="info">mazheng</param>
<!--info在对应的action类中有相应的成员变量-->
<result name="success">/WEB-INF/page/implant.jsp</result>
</action>原文地址:http://12116052.blog.51cto.com/12106052/1896190