第一种方式:指定method属性
<action name="chainAction" class="chapter2.action.Chapter2Action"
method="chainAction">
<result name="chainAction" type="chain">redirect</result>
</action>
<action name="plainText" class="chapter2.action.Chapter2Action"
method="plainText">
<result name="plainText" type="plainText">/WEB-INF/JspPage/chapter2/plaintext.jsp</result>
</action>
第二种方式:dmi
这种方式需要开启一个常量,级开启dmi
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
action中
package chapter3.action;
public class Chapter3Action {
public String result1(){
return "result1";
}
public String result2(){
return "result2";
}
}
XML中配置方式
<package name="chapter3" namespace="/chapter3" extends="struts-default">
<action name="chapter3Action" class="chapter3.action.Chapter3Action">
<result name="result1">/WEB-INF/JspPage/chapter3/result1.jsp</result>
<result name="result2">/WEB-INF/JspPage/chapter3/result2.jsp</result>
<result name="chapter3">/WEB-INF/JspPage/chapter3/chapter3.jsp</result>
</action>
</package>
调用方式:/chapter3/chapter3Action!result2.action
通配符方式:
这个需要关闭dmi
<action name="*_*" class="chapter4.action.{1}Action" method="{2}">
<result name="{2}">/WEB-INF/JspPage/chapter4/{1}_{2}.jsp</result>
</action>
当有
studentadd
student*
*_*时,会按照最高匹配度的去调
,若2,3,满足,则会按照xml配置顺序来调.