Action多方法调用
方式一:
在struts.xml中的action标签中添加method值如:
<!-- 没有method属性值则这是MyTestAction默认的调用方法即execute方法将被调用 -->
<action name="myTest" class="com.mengya.action.MyTestAction">
<result name="success">/index.jsp</result>
</action>
<!-- method属性值为text则这是MyTestAction调用方法即text方法将被调用 -->
<action name="text" class="com.mengya.action.MyTestAction" method="text">
<result name="success">/index.jsp</result>
</action>
方式二:
在struts.xml中的action标签不改
<action name="myTest" class="com.mengya.action.MyTestAction">
<result name="success">/index.jsp</result>
</action>
页面修改:
<a href="myTest.action">Action默认的方法</a><br>
<a href="myTest!method1.action">Action的method1方法</a><br>
<a href="myTest!method2.action">Action的method2方法</a>
关闭感叹号方式:
设置常量:<constant name="struts.enable.DynamicMethodInvocation" value="false"></constant>
方式三:通配符
struts.xml的配置:
<package name="other" namespace="/other" extends="base">
<action name="success*">
<result name="success">/register_{1}.jsp</result>
</action>
<action name="index*_*_*" class="org.han.{1}.HelloWorldAction" method="{2}">
<result type="chain">success{3}</result>
</action>
</package>
该配置的访问路径就为:http://localhost:8080/Struts/other/action_index_execute_success
注:{?}可以在任意位置