您的位置:首页 > 编程语言 > Java开发

Struts2 ActionMethod 【DMI】(动态方法调用 Dynamic Method Invoke)

2017-11-18 11:31 423 查看

首先来看 structs.xml 配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>
<constant name="struts.devMode" value="true" />
<package name="user" extends="struts-default" namespace="/user">
<action name="userAdd" class="com.zxh.struts2.user.action.UserAction" method="add">
<result>/user_add_success.jsp</result>
</action>

<action name="user" class="com.zxh.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>
</package>
</struts>


然后来看UserAction中的代码

import com.opensymphony.xwork2.ActionSupport;

public class UserAction extends ActionSupport {
public String add() {
return SUCCESS;
}
}


Action执行的时候并不是一定要执行execute方法:

1.可以在配置文件struts.xml中配置Action的时候用method=”“来制定执行那个方法,但是会产生太多的action,所以不太推荐此种方式。

2.可以在url地址中动态指定(动态方法调用DMI),如本例中的就可以这样输入url

http://localhost:8080/Struts2_0500_ActionMethod/user/user!add

此时就会调用

<action name="user" class="com.zxh.struts2.user.action.UserAction">
<result>/user_add_success.jsp</result>
</action>


中指明的UserAction的add方法
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: