初次了解struts的action类】的更多相关文章

Action类真正实现应用程序的事务逻辑,它们负责处理请求.在收到请求后,ActionServlet会为这个请求选择适当的Action 如果需要,创建Action的一个实例 调用Action的perform()方法 如果ActionServlet不能找到有效的映射,它会调用默认的Action类(在配置文件中定义).如果找到了ActionServlet将适当的ActionMapping类转发给Action,这个Action使用ActionMapping找到本地转发,然后获得并设置ActionMap…
上一章节末((三)Struts之Action类基础(一))介绍了如何获取用户输入数据的获取.接着就是在Struts中怎么把数据响应给用户端,这就必须要求我们把数据放到作用域中,然后才能显示到用户浏览器. 一.将数据放到作用域并在用户浏览器中显示 A. 使用Servlet原生作用域(request.session.servletContext) index.jsp <%@ page language="java" contentType="text/html; chars…
一.Action的类型 A.使用普通的类 必须有public的execute且返回值为String的方法. ActionType.java package com; public class ActionType_1 { public String execute() { System.out.println("我是Action类型1"); return null; } } B.实现Actin接口 实现com.opensymphony.xwork2.Action接口,并实现该接口中的e…
接着上次博客的内容我继续分享我所学到的知识,和自己在学习过程中所遇到问题以及解决方案.当然,如果读者发现任何问题均可以在下方评论告知我,先谢! 在 Action 中访问 WEB 资源 web 资源 所谓的 WEB 资源是指 HttpServletRequest.HttpServletResponse.ServletContext 等原生的 API,作为 B/S 应用开发的 Controller 必须可以访问 WEB 资源,比如向域对象中读写属性等操作. 如何访问 WEB 资源 和 Servlet…
org.apache.struts.action.Action类是Struts的心脏,也是客户请求和业务操作间的桥梁.每个Action类通常设计为代替客户完成某种操作.一旦正确的Action实例确定,就会调用RequestProcessor类的execute()方法.该方法的结构如下: //摘自org.apache.struts.action.Action类     public ActionForward execute(ActionMapping mapping, ActionForm fo…
1.Action类的execute()方法: public ActionForward execute(ActionMapping mapping,                                                 ActionForm form,                                                 HttpServletRequest request,                                  …
ActionError类从不独立进行错误处理,它们总是被存储在ActionErrors对象中.ActionErrors对象保存ActionError类的集合以及它们特定的属性值,我们可以使用自己定义的属性值,或是使用ActionErrors.GLOBAL_ERROR. 下面是典型Action类的perform()中错误处理情况: MyForm form = (MyForm) form; if (number == -1) { ActionErrors errors = new ActionErr…
一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要的所有对象 使用:1.获取ActionContext  2.获取application,session.request,parameter资源  3.打印显示 1.获取ActionContext ActionContext.getContext() 调用自身的静态方法得到实例 采用的是单例模式 可以…
Action类为何要继承ActionSupport   理论上Struts 2.0的Action无须实现任何接口或继承任何类型,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法.当然我们也可以在写action的时候实现Action接口. Action接口有: public static final java.lang.String SUCCE…
我做的时候,我的action是继承ActionSupport的 Struts 2的Action无须实现任何接口或继承任何类型,普通的POJO类就可以用做Action类,但是,我们为了方便实现Action,大多数情况下都会继承com.opensymphony.xwork2.ActionSupport类,并重载(Override)此类里的String execute()方法,因为ActionSupport已经实现了Action接口,还实现了Validateable接口,提供了数据校验功能.通过继承该…
struts是线程安全,并不是指多线程,而是指单态,当多个用户访问一个请求的时候,服务器内存中只有一个与之对应的action类对象,execute方法加上了同步关键字,如果你在action里加上一个全局变量,那么,多个客户访问的时候,这个变量是共有的,即一个客户修改了他,下一个客户获得的变量是修改后的,你可以写个demo来测试,至于多线程只是服务器在相应客户端请求时对于session的处理,并不是指struts action Spring的MVC model类似于Struts.在多线程服务对象这…
struts2中的action可以继承ActionSupport,也可以不继承ActionSupport.不继承ActionSupport的情况只需要有一个方法,返回String,即可,记住,在继承ActionSupport的情况下,必须有无参构造函数.继承ActionSupport的好处在于:1.能够使用struts预设的返回字符串,如SUCCESS,INPUT等等.2.重写方法,更方便的实现验证.国际化等等功能.3.与struts的功能结合紧密,方便开发. Action接口有: public…
1.action      action表示一个struts2的请求! 2.Action类 能够处理struts2请求的类. (1)属性的名字需要与JavaBeans属性保持一致. 属性的类型可以是任意类型.从字符串到非字符串(基本数据类型)之间的数据转换可以自动发生. (2)必须有一个不带参的构造器 (3)至少提供一个供struts在执行这个action时调用的方法 (4)同一个Action类可以包含多个action方法. (5)struts2会为每一个HTTP请求创建一个新的Action实例…
zTree实现地市县三级级联Action类 ProvinceAction.java: /** * @Title:ProvinceAction.java * @Package:com.gwtjs.struts.action.area * @Description: * @author:Youhaidong(游海东) * @date:2014-5-11 上午12:27:54 * @version V1.0 */ package com.gwtjs.struts.action.area; import…
在struts1.xAction类的execute方法中,有四个参数,其中两个就是response和request.而在Struts2中,并没有任何参数,因此,就不能简单地从execute方法获得HttpServletResponse或HttpServletRequest对象了. 但在Struts2 Action类中仍然有很多方法可以获得这些对象.下面就列出四种获得这些对象的方法. [方法1]使用Struts2 Aware拦截器       这种方法需要Action类实现相应的拦截器接口.如我们…
一.struts2是什么 1.概念 2.struts2使用优势以及历史 二.搭建struts2框架 1.导包 (解压缩)struts2-blank.war就会看到 2.书写Action类 public class HelloAction { public String hello(){ System.out.println("hello world!"); return "success"; } } 3.书写src/struts.xml (记得加上dtd约束) &l…
首先是STRUTS.XML的配置.重点在于配置文件: <!-- struts2捕获action类异常 -->         <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping result="error&q…
1.修改struts2常量配置(3种) 第一种 在str/struts.xml中添加constant标签 <struts> <!-- 如果使用使用动态方法调用和include冲突 --> <constant name="struts.enable.DynamicMethodInvocation" value="true" /> <!-- 开发者模式 --> <constant name="struts.…
Action类访问servlet Action类有三种方式servlet: (1)间接的方式访问Servlet API  ---使用ActionContext对象 (2)  实现接口,访问Action时完成注入 (3)直接通过ServletActionContext获得Servlet的API 下面我来讲第一种:   (1)间接的方式访问Servlet API  ---使用ActionContext对象 Struts2中提供了一个ActionContext类(当前Action的上下文对象),通过这…
上面的Action提供了两个属性:uploadFileName和uploadContentType,这个两个属性分别用于封转上传文件的文件名.上传文件的文件类型.Action类直接通过File类型属性直接封装了上传文件的文件内容,但是这个File属性无法获取上传文件的文件名和类型,所以Struts 2直接将文件域中包含的上传文件名和文件类型的信息封装到uploadFileName和uploadContentType属性中,.可以认为:如果表单中包含一个name属性为XXX的文件域,则对应Acti…
1. 通过<action>标签中的method属性,访问到Action中的具体的方法. * 传统的配置方式,配置更清晰更好理解!但是扩展需要修改配置文件等! * 具体的实例如下: * 页面代码 * <a href="${pageContext.request.contextPath}/addBook.action">添加图书</a> * <a href="${pageContext.request.contextPath}/delet…
一.Action书写方式: 接口地址:https://struts.apache.org/maven/struts2-core/apidocs/index.html Action类就是一个POJO类. 1. POJO类:POJO(Plain Ordinary  Java Object )简单的Java对象,简而言之:没有继承类.没有实现接口的简单类. 2.实现Action的接口的实现类:继承ActionSupport.该类为我们定义了几个常量表格如下: 还有实现Action的一些方法.所以我们继…
近期由于项目需求变更.须要本人对当中的某个业务功能进行改动.本人依照前台页面找action,依据action找代码的逻辑进行了改动(公司项目是ssh框架,struts配置全部是通过注解的方式进行.配置简单方便).当然測试人员也成功的进行了測试,发现没有不论什么问题,成功发版.奇葩事情来了.在发版环境中,改动的代码总是没用! 没办法,问题还是要解决.在确认了发版环境的确是最新代码之后,回自己座位找原因. 这次我用action名称全局搜索项目project,尼玛发现两个重名action,当然我仅仅改…
struts2和spring的整合,关键点在于struts2中的action要纳入spring容器的管理中成为一个bean.  可以在struts2中配置:  <struts>      <constant name="struts.objectFactory" value="spring" />  </struts>  同时action的配置class='beanID',访问该Action时,会通过class对应值去spring…
Action类是Struts 2应用程序的关键,我们实现了大部分Action类中的业务逻辑.因此,让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2并有下面的内容. Action类来响应用户的操作,当用户点击一个URL. Action类中的一个或多个方法被执行,并返回一个字符串结果.基于结果的价值,一个特定的JSP页面的呈现方式. package com.yiibai.struts2; public cla…
Action类的工作机制 Execute()方法包含以下参数 ActionMapping:包含了这个Action的配置信息,和struts-config.xml文件中的<action>元素对应 ActionForm:包含了用户的表单数据,当Struts框架调用execute()方法时,ActionForm中的数据 已经通过了表单验证 HttpServletRequest:当前的HTTP请求对象 HttpServletResponse:当前的HTTP响应对象 Action类中execute()方…
一.Struts中Action得创建方式 1,直接创建一个简单的Action类 添加Struts.xml,配置转发方法返回转发的页面. 2,实现一个Action类 Strust.xml配置对应的Url转发映射. 3,继承一个ActionSupport类 struts.xml配置文件的内容如下: 二.Struts中Action获取Servlet中的API,并通过servlet的域对象进行存储值操作 1,通过ActionContext上下文对象来获取request域,session域,applica…
在编写SSH2项目的时候,除了使用<s:form>表单标签向Action类跳转并传递参数之外,很更多时候还需要用到<s:a action="XXX.action">这个链接标签进行跳转,此时,传递需要的参数必不可少.此外,在jsp页面获取Action类传来的数据时,也需要留心一下属性获取的方式. 之前在这里,由于我的粗心大意,导致了jsp页面上没有相应的数据显示出来.原本以为是没有从数据库读取到数据,使得我从持久层.dao层.service层.action类检查…
此系列博文基于同一个项目已上传至github 传送门 JavaWeb_(Struts2框架)Struts创建Action的三种方式 传送门 JavaWeb_(Struts2框架)struts.xml核心配置.动态方法调用.结果集的处理 传送门 JavaWeb_(Struts2框架)Log4j的配置以及解决中文乱码 传送门 JavaWeb_(Struts2框架)参数传递之接收参数与传递参数 传送门 JavaWeb_(Struts2框架)Ognl小案例查询帖子 传送门 JavaWeb_(Struts…
在学习struts的时候,我们一定要掌握struts2的工作原理.只有当我们明确了在struts2框架的内部架构的实现过程,在配置整个struts 的框架时,可以很好的进行逻辑上的配置.接下来我就先简单的讲解下struts2的框架工作原理: 一.struts2的工作原理 1.客户端初始化一个指向Servlet容器(例如Tomcat)的请求: 2.这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其…