现在的位置: 首页 > 综合 > 正文

一个Action多个方法的调用

2017年11月09日 ⁄ 综合 ⁄ 共 1696字 ⁄ 字号 评论关闭

在大家写Action的时候,配置struts2.xml文件的时候我们大家都知道需要method={1}这个属性但是我们有的时候并不清楚到底他是什么意思。下面我总结了下Action中的方法调用的方法,希望能帮到大家理解!

具体的调用方式:(一共三种方式)
* 方法的动态调用
* 在<action>中配置method属性
* 使用通配符

①方法的动态调用方式:
action名称+!+方法名称+后缀

<a href="user!add.action">添加用户</a><br>
<a href="user!del.action">删除用户</a><br>
<a href="user!update.action">修改用户</a><br>
<a href="user!list.action">查询用户</a><br>

!!动态调用参数配置,默认为true,可以调用,否则不能调用
<constant name="struts.enable.DynamicMethodInvocation" value="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标签上都可以使用通配符
通配符的作用就是为了减少配置量,通配符需要建立在约定的基础上

抱歉!评论已关闭.