我们如果在一个Action类中书写了许多方法如下
public class Demo1Action {
public String add() {
System.out.println("添加用户");
return "success";
}
public String delte() {
System.out.println("删除用户");
return "success";
}
public String update() {
System.out.println("修改用户");
return "success";
}
public String find() {
System.out.println("查找用户");
return "success";
}
}
此时我们想要访问每一个方法
方式一:
进行常量配置
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
<package name="dynamic1" namespace="/dynamic1" extends="struts-default">
<action name="Demo1Action" class="com.aiit.dynamic.Demo1Action" >
<result name="success">/hello.jsp</result>
</action>
</package>
此时我们并没有书写方法题,而是引入了上面一点中的一个常量值。此时我们访问浏览器
方式二:(重点)
<package name="dynamic1" namespace="/dynamic1" extends="struts-default">
<!-- 动态方法调用方式2:通配符方式使用 {1}取出第一个通配符的内容 -->
<action name="Demo1Action_*" class="com.aiit.dynamic.Demo1Action" method="{1}"><!-- 匹配第一个✳号 -->
<result name="success">/hello.jsp</result>
</action>
</package>
此时我们在浏览器中进行访问