Struts2中Action中是否需要实现Execute方法
今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了。
其实分两种情况:
1)如果你的Action类是继承自ActionSupport或是BaseAction的话,确切的说是重写了execute方法,ActionSupport里的默认实现就是返回"success"视图。因此,你可以不实现execute方法,只要你的struts.xml里有"success"对应的result即可。
<action name="doRevenuesMaintenance"> <interceptor-ref name="novatar-webStack-baseparam"> <param name="security.actionType">PRIVATE</param> </interceptor-ref> <result name="success">incomeMaintenance.jsp</result> < /action>
这段代码中就是通过action的配置文件来控制跳转页面。在action的类中没有execute()方法重写。
2)如果你的Action类没有继承ActionSupport或是BaseAction的话,而你又没有在struts.xml中对应<action>标签中用method属性指定你自己的方法的话,默认就要找execute方法,这时是必须要实现execute方法的,否则Struts2会找不到对应的方法而报错。
不过,大部分情况下都是继承ActionSupport的(比如输入验证、文件上传等功能就要求必须继承)。还有,不管你写没写execute方法,还是可以用<action>标签的method属性指定其他方法的。
以上所述是小编给大家介绍的Struts2中Action中是否需要实现Execute方法的相关介绍,希望对大家有所帮助!
相关推荐
-
Struts2实现对action请求对象的拦截操作方法
Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. 该方法如下: public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无
-
ajax交互Struts2的action(客户端/服务器端)
1.客户端网页代码 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=G
-
详解在Java的Struts2框架中配置Action的方法
在Struts2中Action部分,也就是Controller层采用了低侵入的方式.为什么这么说?这是因为在Struts2中action类并不需要继承任何的基类,或实现任何的接口,更没有与Servlet的API直接耦合.它通常更像一个普通的POJO(通常应该包含一个无参数的execute方法),而且可以在内容定义一系列的方法(无参方法),并可以通过配置的方式,把每一个方法都当作一个独立的action来使用,从而实现代码复用. 例如: package example; public class U
-
struts2 action跳转调用另一个程序
目的:主要为了在一个Action成功后跳转调用另一个程序. Struts2.xml [html] 复制代码 代码如下: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.
-
struts2中action实现ModelDriven后无法返回json的解决方法
复制代码 代码如下: public class DeviceAction extends AbstractAction implements ModelDriven<Device> { private static Log log = LogFactory.getLog(DeviceAction.class); private Device device=new Device(); //只能json化 模型驱动的bean private String result; //无法
-
用js模拟struts2的多action调用示例
最近修了几个struts2.1升级到2.3后动态方法调用失效的bug,深有感悟, 但是我那种原始方法有一个局限,就是在submit那里写下的action不起作用,就算启动了动态方法调用也不行(我想应该是struts2.3的一个bug),所以为了完善这个功能,这里我再说一个用js的方法. 在<s:submit value="提交" onclick="return submitAction('某某action')" />,添加onclick方法,然后再在js
-
Struts2中Action中是否需要实现Execute方法
今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了. 其实分两种情况: 1)如果你的Action类是继承自ActionSupport或是BaseAction的话,确切的说是重写了execute方法,ActionSupport里的默认实现就是返回"success"视图.因此,你可以不实现execute方法,只要你的struts.xml里有"success"对应的result即可. <action name="doR
-
Java的Struts框架中Action的编写与拦截器的使用方法
Struts2 Action/动作 动作是Struts2框架的核心,因为他们的任何MVC(模型 - 视图 - 控制器)框架.每个URL将被映射到一个特定的动作,它提供了来自用户的请求提供服务所需的处理逻辑. 但动作也提供其他两个重要的能力.首先,操作从请求数据的传输中起着重要的作用,通过向视图,无论是一个JSP或其它类型的结果.二,动作必须协助的框架,在确定结果应该渲染视图,在响应该请求将被退回. 创建动作: 在Struts2的动作,唯一的要求是必须有一个无参数的方法返回String或结果的对象
-
Struts2中Action三种接收参数形式与简单的表单验证功能
有了前几篇的基础,相信大家对于Struts2已经有了一个很不错的认识,本篇我将为大家介绍一些关于Action接收参数的三种形式,以及简单的表单验证实现,下面进入正题,首先我们一起先来了解一下最基本的Action接收参数的形式,直接在我们的Action类中添加成员变量,这样就可以完成Action接收参数的操作,具体内容详见代码展示: 这里我们以登录验证为例,进行代码展示,首先是我们的Action类: /*** * 最基本的接收参数形式 * @author jho * http://localhos
-
详解Struts2中Action访问Servlet API的几种方法
详解Struts2中Action访问Servlet API的几种方法 在通常的web开发中Request和Response对象比较常见,但在Struts2框架中由于Action能与JSP页面进行数据交互,所以通常都不会用到这两个对象.如果想在Struts2程序中用到这两个对象,也有解决方法 Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,能更轻松的测试该Action.但如何访问? Web应
-
在Action中以Struts2的方式输出JSON数据的实例
下面是整个Action的完整代码: package cn.ysh.studio.struts2.json.demo.action; import java.io.IOException; import java.io.PrintWriter; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.Servlet
-
jsp中Action使用session方法实例分析
本文实例分析了jsp中Action使用session方法.分享给大家供大家参考.具体如下: 在Struts2里,如果需要在Action中使用session,可以通过下面两种方式得到 1.通过ActionContext class中的方法getSession得到 2.Action实现org.apache.struts2.interceptor.SessionAware接口的方式来对session进行操作 下面先看一个采用第一种方式,在action中得到session的例子 复制代码 代码如下: p
-
Struts2中validate数据校验的两种方法详解附Struts2常用校验器
1.Action中的validate()方法 Struts2提供了一个Validateable接口,这个接口中只存在validate()方法,实现这个接口的类可直接被Struts2调用,ActionSupport类就实现了Vadidateable接口,但他的validate()方法是一个空方法,需要我们来重写. validate()方法会在execute()方法执行前执行,仅当数据校验正确,才执行execute()方法, 如错误则将错误添加到fieldErrors域中,如果定义的Action中
-
Struts中action线程安全问题解析
[问题描述] 最近公司安排我面试Java的FreshMan,面试者一般是工作1年多点的新人(这里我就装老一下,其实我也才工作3年不到),在被问及Struts1和Struts2的Action的线程安全问题的时候,大多是支支吾吾,答不出所以然.所以在这里我整理一下我个人的理解. [问题答案] 这是由于Servlet的工作原理产生的.我们先来简单回顾一下Servlet的生命周期"初始化->init->service->destroy->卸载". 这里大家都知道,我们在
-
Struts2中ognl遍历数组,list和map方法详解
一.简介 <s:iterator />可以遍历数据栈里面的任何数组,集合等等 在使用这个标签的时候有三个属性值得我们关注 1. value属性:可选的属性,value属性是指一个被迭代的集合,使用ognl表达式指定,如果为空的话默认就是ValueStack栈顶的集合. 2.id属性:可选属性, 是指集合元素的id 3.status属性:可选属性,该属性在迭代时会产生一个IteratorStatus对象,该对象可以判断当前元素的位置,包含了以下属性方法: int getCount(); 迭代元素
-
SSH框架网上商城项目第24战之Struts2中处理多个Model请求的方法
1. 问题的提出 Struts2中如果实现了ModelDriven<model>接口就可以将传来的参数注入到model中了,就可以在Action中使用该model,但是如果现在有两个model都需要在同一个Action中使用该咋整呢?比如上一节我们完成了在线支付功能,但是支付完成了还没结束,我们需要接收从第三方那边反馈回来的信息,比如成功支付后,我们需要给付款方发送邮件和短信等.所以我们还需要在payAction中获取从第三方传过来的参数,由于从第三方传过来的参数与我们传过去的参数是不同的,所
随机推荐
- php封装的smartyBC类完整实例
- oracle 视图权限 oracle 创建视图权限不足
- js动态添加onload、onresize、onscroll事件(另类方法)
- Java语言实现简单FTP软件 FTP软件主界面(4)
- java unicode转码为中文实例
- Python的Tornado框架异步编程入门实例
- 基于localStorge开发登录模块的记住密码与自动登录实例
- javascript 最常用的10个自定义函数[推荐]
- 修改yii2.0用户登录使用的user表为其它的表实现方法(推荐)
- php中使用Imagick实现图像直方图的实现代码
- thinkPHP+ajax实现统计页面pv浏览量的方法
- golang解析xml的方法
- WPF仿三星手机充电界面实现代码
- Python中的元类编程入门指引
- Laravel框架表单验证详解
- java中UDP简单聊天程序实例代码
- php获取从百度、谷歌等搜索引擎进入网站关键词的方法
- ssh更改默认端口号及实现免密码远程登录
- 详解React之父子组件传递和其它一些要点
- JAVA演示阿里云图像识别API,印刷文字识别-营业执照识别