为了减少配置,我们可以使用动态方法调用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好,但是也不是官网推荐的,我们用通配符能更加简化配置,在下一篇笔记中叙述。