Struts2方法调用的三种方式
在Struts2中方法调用概括起来主要有三种形式
第一种方式:指定method属性
<action name="student" class="com.itmyhome.Student" method="add">
<result name="add">/success.jsp</result>
</action>
这样Struts2就会调用Student 中的add方法。
第二种方式:动态方法调用(DMI)
用这种方法需要设置一个常量
<constant name="struts.enable.DynamicMethodInvocation" value="true" />
动态方法调用是指表单元素的action并不是直接等于某个Action的名字,而是以如下形式来指定Form的action属性
<!-- action属性为action!methodName的形式 -->
action = "action!methodName.action"
在struts.xml中定义如下Action
<action name="student" class="com.itmyhome.StudentAction">
<result name="add">/add.jsp</result>
<result name="delete">/delete.jsp</result>
</action>
StudentAction代码为
public class StudentAction extends ActionSupport {
public String add(){
return "add";
}
public String delete(){
return "delete";
}
}
则在JSP中用如下方式调用方法
<a href="student!add.action"> 新增学生</a>
<a href="student!delete.action"> 删除学生</a>
第三种方式:通配符(推荐使用)
<action name="student*" class="com.itmyhome.StudentAction" method="{1}">
<result name="{1}">/student{1}.jsp</result>
</action>
<a href="studentadd"> 新增学生</a>
<a href="studentdelete"> 删除学生</a>
studentadd就会调用StudentAction中的add方法 然后跳转到studentadd.jsp
studentdelete就会调用StudentAction中的delete方法 然后跳转到studentdelete.jsp
Struts2支持动态方法调用,它指的是一个Action中有多个方法,系统根据表单元素给定的action来访问不同的方法,而不用写多个Action。
Struts2方法调用的三种方式的更多相关文章
- Struts2方法调用的三种方式(有新的!调用方法的说明)
在Struts2中方法调用概括起来主要有三种形式 第一种方式:指定method属性 <action name="heroAction" class="com.ABC ...
- Struts2获取Session的三种方式
1.Map<String,Object> session = ActionContext.getContext().getSession(); session.put("cod ...
- 【Struts2】Struts2获取session的三种方式
1.Map<String,Object> map = ActionContext.getContext().getSession(); 2.HttpSession session = S ...
- [OpenSource]浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份额,不管谁对谁错,Java和.Net是目前应用开发的两个 ...
- 浅谈.Net和Java互相调用的三种方式
在很多的大型系统开发中,开发工具往往不限制于同一种开发语言,而是会使用多种开发语言的混合型开发.目前Java和.Net都声称自己占85%的市场份 额,不管谁对谁错,Java和.Net是目前应用开发的两 ...
- SpringBoot2.0.2 Application调用的三种方式
一.注解 @SpringBootApplication 点开查看源码是由多个注解合成的注解,其中主要的注解有: @SpringBootConfigurati ...
- 判断python对象是否可调用的三种方式及其区别
查找资料,基本上判断python对象是否为可调用的函数,有三种方法 使用内置的callable函数 callable(func) 用于检查对象是否可调用,返回True也可能调用失败,但是返回False ...
- Struts2访问ServletAPI的三种方式
web应用中需要访问的ServletAPI,通常只有HttpServletRequest,HttpSession,ServletContext三个,这三个接口分别代表jsp内置对象中的request, ...
- 【深入Struts2】获取ServletAPI的三种方式
一:获取servletAPI的三种方法 在传统的Web开发中,经常会用到Servlet API中的HttpServletRequest.HttpSession和ServletContext.Strut ...
随机推荐
- js 之 复制一段代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- Extjs4 关于Store的一些操作(转)
1.关于加载和回调的问题 ExtJs的Store在加载时候一般是延迟加载的,这时候Grid就会先出现一片空白,等加载完成后才出现数据:因此,我们需要给它添加一个提示信息! 但是Store却没有wait ...
- select、poll、epoll用法
我们先从著名的C10K问题开始探讨,由于早期在网络还不普及的时候,互联网的用户并不是很多,一台服务器同时在线100个用户估计在当时已经算是大型应用了.但是随着互联网的发展,用户群体迅速的扩大,每一个用 ...
- C++类型转换运算符
C++中提供4中类型转运算符,分别是:static_cast.dynamic_cast.reinterpret_cast和const_cast; 语法格式如下: 类型转换运算符 < type_i ...
- (org.hibernate.LazyInitializationException:19) - could not initialize proxy错误
(org.hibernate.LazyInitializationException:19) - could not initialize proxy错误 在刚插入数据后,马上使用dao进行query ...
- js 实现 di
前些时候有使用过AngularJS一些时间,最大的感受就是Angular完全颠覆了我们开发Web应用的方式,自己被其许多耳目一新的设计思想所折服. 首先想说的就是依赖注入(DI),这也意味着,你在使用 ...
- 深入浅出 Java Concurrency (1) : J.U.C的整体认识
转 http://www.blogjava.net/xylz/archive/2010/06/30/324915.html 去年年底有一个Guice的研究计划,可惜由于工作“繁忙”加上实际工作中没有用 ...
- 两个div之间有空隙
加句*{ margin:0; padding:0;} 最近在做网页时发现,在IE7下(FF没试过),div与div之间有时会出20个像素左右的空隙,除非把margin设成负值,否则空隙无法去除.我在 ...
- centos 6.5 安装weixin
下载cpanm wget http://xrl.us/cpanm --no-check-certificate -O /sbin/cpanm && chmod +x /sbin/cpa ...
- No row with the given identifier exists[ArtProject.Domains.Users#2]
产生此问题的原因: 有两张表,table1和table2. 产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-on ...