ActionMethod 动态方法调用(DMI)

本文介绍了Struts2中动态方法调用(DMI)的概念,对比了两种实现方式:通过action的method属性指定方法和配置struts.xml启用DMI。第一种方法可能导致过多的action,因此不建议使用。第二种方法需要在struts.xml中设置`<constant name="struts.enable.DynamicMethodInvocation" value="true" />`来开启。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Action执行的时候并不一定要执行execute方法
可以在配置文件中配置Action的时候用method=来指定执行哪个方法 也可以在url地址中动态指定(动态方法调用DMI)(推荐)

前者会产生太多的action,所以不推荐使用

两种方法:

(1):

在action里面添加method属性,action执行的类里面写跟method属性一致的方法

<action name="hell" class="user.action.UserAction" method="add">
            <result name="succ">
                /index.jsp
            </result>
        </action>
result标签的name属性和add方法的返回值继续一致
package user.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport {
	public String add()
	{
		return "succ";
	}
}
执行:


(2):

</action>
        <action name="hell2" class="user.action.UserAction">
            <result name="succ">/user_add_success.jsp</result>
        </action>

浏览器运行是输入:


注意:在struts.xml里面添上这段代码:开启动态方法调用

<constant name="struts.enable.DynamicMethodInvocation" value="true" />



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值