Struts2中Action中指定方法的调用(动态调用)
来源:互联网 发布:小白看什么python教程 编辑:程序博客网 时间:2024/04/30 00:36
Struts2中Action中是默认执行execute方法,不过有时需要调用指定的其他方法,就是动态调用。
web程序运行顺序:jsp–>struts.xml–>Action.java。
动态调用通常有两种方法:
【第一种】
直接”${pageContext.request.contextPath }/user/useradd”,然后在struts.xml中配置method=”add”,就可以动态调用到UserAddAction的add方法。
jsp页面中:
<a href="${pageContext.request.contextPath }/user/useradd">AddUser</a>
struts.xml中配置:
<constant name="struts.enable.DynamicMethodInvocation" value="true" /><constant name="struts.devMode" value="true" /><package name="user" namespace="/user" extends="struts-default"> <action name="useradd" class="jweb.web.action.UserAddAction" method="add"> <result> /adduser.jsp </result> </action></package>
UserAddAction.java中代码:
public class UserAddAction extends ActionSupport { public String add() throws Exception { // TODO Auto-generated method stub System.out.println("动态调用add方法!"); return SUCCESS; }}
【第二种】
jsp页面中的访问路径:”${pageContext.request.contextPath }/user/useradd!add”,在action名称useradd后面加一个英文感叹号,然后加UserAddAction的方法名称add,这样一来,struts.xml中就无须配置method属性。
jsp页面中:
<a href="${pageContext.request.contextPath }/user/useradd!add">AddUser</a>
struts.xml中配置:
<constant name="struts.enable.DynamicMethodInvocation" value="true" /><constant name="struts.devMode" value="true" /><package name="user" namespace="/user" extends="struts-default"> <action name="useradd" class="jweb.web.action.UserAddAction"> <result> /adduser.jsp </result> </action></package>
UserAddAction.java中代码:
public class UserAddAction extends ActionSupport { public String add() throws Exception { // TODO Auto-generated method stub System.out.println("动态调用add方法!"); return SUCCESS; }}
【总结】
两种方法有区别,使用第一种,当Action中有多个方法时候,需要在struts.xml中配置多个action,比较冗余。
使用第二种,需要注意:超链接路径中,action名称useradd和方法名称add之间需要添加英文感叹号,而不是问号,也不是中文感叹号。
此外还要注意,两种方法struts.xml中必须添加:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
语句。这是动态调用action中任意方法的前提!
- Struts2中Action中指定方法的调用(动态调用)
- Struts2调用action中指定的方法
- struts2 中action的动态方法调用
- Struts2中Action的动态调用方法
- Struts2中Action的动态调用方法
- Struts2中Action的动态方法调用
- struts2 动态调用action中方法
- struts2 action动态方法调用
- Struts2中Action方法的动态调用(一个Actiong有两个方法)
- 通过DLL路径,实现动态调用动态链接库中指定类的(静态)方法和属性
- Struts2中调用Action的方法
- Struts2中Action类的方法调用
- Struts2的动态调用Action方法和默认Action
- struts2动态方法调用,javascript动态修改表单的action
- struts2中动态方法调用和使用通配符定义Action
- Struts2框架5.Action中动态方法调用
- Java-调用抽象类中指定参数的构造方法
- Struts2的Action方法调用
- eval()函数的使用
- Oracle 最简单的随系统自动启动
- token验证失败
- Angular.js(出库列表页)
- gmapping An Incomplete Scan Matching Tutorial
- Struts2中Action中指定方法的调用(动态调用)
- Java:((TestClass)null).testMethod();
- 微信公众平台获取网页授权(测试号)
- 防止模型 赋不到值 崩溃的方法
- 用谷歌封装好的API进行数据库增删查改(crud)
- Android sdk 接入时遇到的错误解决方案
- java(优化六) java操作redis之基础篇
- 详细解读DIV+CSS定位
- MyEclipse的一些设置