为了减少配置,我们可以使用动态方法调用DMI。Action执行是不一定要执行execute()方法,可以定义 method属性,不过这个不常用,不做解释。常用的是DMI,避免产生多个action。
struts.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<!-- Add packages here -->
<constant name="struts.devMode" value="true" />
<package name="front" namespace="/" extends="struts-default">
<action name="user" class="com.tfj.strut2.UserAction">
<result name="success">
/user_add_success.jsp
</result>
</action>
</package>
</struts>
UserAction.java
package com.tfj.strut2;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction extends ActionSupport{
public String add(){
return SUCCESS;
}
public String delet(){
return SUCCESS;
}
}
在调用时http://localhost:8080/Struts2_0500_DMI/user!add 感叹号加方法即可.
Tips:这种方法比定义method好,但是也不是官网推荐的,我们用通配符能更加简化配置,在下一篇笔记中叙述。