Struts中action的调用方式
Action执行的时候并不一定要执行execute方法
可以在配置文件中配置Action的时候用method=来指定执行哪个方法
也可以在url地址中动态指定(动态方法调用DMI)(推荐)
1,通过action标签中的method属性(不推荐使用--会产生太多的action)
<action name="user" class="com.test.User" method="userAdd">
。。。。
</action>
在url地址栏输入“。。。/user”时,程序会到User类中找userAdd()方法执行
2,通过!动态调用(推荐使用)
<action name="user" class="com.test.User">
。。。。
</action>
在url地址栏输入“。。。/user!add”时,程序会到User类中找add()方法执行
3,使用通配符*匹配(可以降低配置--主要是result)
<action name="User*" calss="com.test.User" method="{1}">
<result>/user{1}_success.jsp</result>
</action>
在url地址栏输入“。。。/Useradd”时,程序会到User类中找add()方法执行
成功时返回页面useradd_success.jsp
在url地址栏输入“。。。/Userdel”时,程序会到User类中找add()方法执行
成功时返回页面userdel_success.jsp
<action name="*_*" calss="com.test.{1}Action" method="{2}" >
<result>/{1}_{2}_success.jsp</result>
</action>
在url地址栏输入“。。。/User_add”时,程序会到UserAction类中找add()方法执行
成功时返回页面User_add_success.jsp
补充:
配置匹配时首先匹配最精确的-->userAdd优于user*
若精确度相同-->带*的都匹配-->则优先匹配靠前的配置