ActionMethod_DMI_动态方法调用
Action执行的时候并不一定要执行execute方法
可以在配置文件中配置Action的时候用method=来指定执行那个方法,也可以在url地址中动态指定(动态方法调用DMI)(推荐)
动态方法调用的配置要先打开:
1 <constant name="struts.enable.DynamicMethodInvocation" value="true"/>
index.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>首页</title> 8 </head> 9 <body> 10 <h1>Hello World~~~</h1> 11 Action执行的时候并不一定要执行execute方法<br> 12 可以在配置文件中配置Action的时候用method=来指定执行那个方法,也可以在url地址中动态指定(动态方法调用DMI)(推荐)<br> 13 <a href="user/userAdd">添加用户</a><br> 14 <a href="user/user!add">添加用户</a><br> 15 前者会产生太多的action,所以不推荐使用 16 </body> 17 </html>
struts.xml
1 <?xml version="1.0" encoding="UTF-8" ?> 2 <!DOCTYPE struts PUBLIC 3 "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" 4 "http://struts.apache.org/dtds/struts-2.3.dtd"> 5 6 <struts> 7 <constant name="struts.configuration.xml.reload" value="true"/> 8 <constant name="struts.enable.DynamicMethodInvocation" value="true"/> 9 10 <!-- namespace 必须 "/" 开头 --> 11 <package name="user" namespace="/user" extends="struts-default"> 12 <action name="userAdd" class="com.bjsxt.struts2.user.action.UserAction" method="add"> 13 <result>/user_add_success1.jsp</result> 14 </action> 15 16 <action name="user" class="com.bjsxt.struts2.user.action.UserAction"> 17 <result>/user_add_success.jsp</result> 18 </action> 19 </package> 20 21 </struts>
UserAction
package com.bjsxt.struts2.user.action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ private static final long serialVersionUID = -1735844624241755443L; public String add(){ return SUCCESS; } }
链接: http://pan.baidu.com/s/1skZG6Gd 密码: pxeb