首页 > 代码库 > 一个Action多个方法的调用
一个Action多个方法的调用
在大家写Action的时候,配置struts2.xml文件的时候我们大家都知道需要method={1}这个属性但是我们有的时候并不清楚到底他是什么意思。下面我总结了下Action中的方法调用的方法,希望能帮到大家理解!
具体的调用方式:(一共三种方式)
* 方法的动态调用
* 在<action>中配置method属性
* 使用通配符
①方法的动态调用方式:
action名称+!+方法名称+后缀
<a href=http://www.mamicode.com/"user!add.action">添加用户
<a href=http://www.mamicode.com/"user!del.action">删除用户
<a href=http://www.mamicode.com/"user!update.action">修改用户
<a href=http://www.mamicode.com/"user!list.action">查询用户
!!动态调用参数配置,默认为true,可以调用,否则不能调用
<constant name="struts.enable.DynamicMethodInvocation" value=http://www.mamicode.com/"false"/>
!!Action中的所有方法必须和execute方法一致(参数,返回值,异常最好也一样)
②在<action>标签中配置method属性
<package name="user-package" extends="struts-default"> <!-- <action name="add" class="com.bjpowernode.struts2.UserAction" method="add"> <result>/success.jsp</result> </action> <action name="del" class="com.bjpowernode.struts2.UserAction" method="del"> <result>/success.jsp</result> </action> <action name="update" class="com.bjpowernode.struts2.UserAction" method="update"> <result>/success.jsp</result> </action> <action name="list" class="com.bjpowernode.struts2.UserAction" method="list"> <result>/success.jsp</result> </action> --> <action name="addUser" class="com.bjpowernode.struts2.UserAction" method="add"> <result>/success.jsp</result> </action> <action name="delUser" class="com.bjpowernode.struts2.UserAction" method="del"> <result>/success.jsp</result> </action> <action name="updateUser" class="com.bjpowernode.struts2.UserAction" method="update"> <result>/success.jsp</result> </action> <action name="listUser" class="com.bjpowernode.struts2.UserAction" method="list"> <result>/success.jsp</result> </action> </package>
③使用通配符
具体配置
<action name="*User" class="com.bjpowernode.struts2.UserAction" method="{1}">
<result>/{1}Success.jsp</result>
</action>
在Struts2的<action>标签class、name、method和result标签上都可以使用通配符
通配符的作用就是为了减少配置量,通配符需要建立在约定的基础上