07. struts2中对Action的管理方式】的更多相关文章

web.xml配置文件的常用代码 <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2…
struts2中,Action通过什么方式获得用户从页面输入的数据,又是通过什么方式把其自身的数据传给视图的? 解答: 1)可以直接通过与表单元素相同名称的数据成员(需要存在符合命名规范set和get方法)获取页面表单数据. 2)会把处理好的数据成员放入值栈中,到页面可以使用struts2标签取值就可以了.…
在Struts2中配置Action <package>: 1.定义Action使用<package>标签下的<action>标签完成,一个<package>下可以有多个<action>. 2.在<package>中有如下几个属性: (1)name:必要属性,该<package>的名字,也是其他<package>引用此<package>时使用的名字. (2)extends:非必要属性,指定被继承的&l…
Action类创建方式有哪些? 方式一:直接创建一个类,可以是POJO,即原生Java类,没有继承任何类,也没有实现任何接口 这种方式使得strust2框架的代码侵入性更低,但是这种方式是理想状态,开发中并不常用 方式二:实现一个接口com.opensymphony.xwork2.Action 接口里面有execute方法,提供了action方法的规范,Action接口预置了一些字符串,可以在返回结果时使用 为了方便.这种方式也不常用 方式三:继承一个类,ActionSupport 该方式帮我们…
例子: RegistAction的代码: package com.wss.action; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.opensymphony.xwork2.ActionContext; import com.opensymphony.xwork2.ActionSupport; import com.wss.Dao.…
1.基本属性注入 我们可以直接将表单数据项传递给Action,而Action只需要提供基本的属性来接收参数即可,这种传参方式称为基本属性注入.例如 jsp页面: <s:form method="post" action="/Login"> <s:textfield name="username" label="用户名"/> <s:password name="password"…
一.解耦方式 特点:对web资源进行了封装,便于单元测试. 实现:ActionContext和接口方式 1.ActionContext 特点:Action执行的上下文对象.保存了执行Action所需要的所有对象 使用:1.获取ActionContext  2.获取application,session.request,parameter资源  3.打印显示 1.获取ActionContext ActionContext.getContext() 调用自身的静态方法得到实例 采用的是单例模式 可以…
Struts2的Action就是一个普通的POJO对象,它和Web对象request.response.session和application没有耦合在一起,这样便于单独测试Action,那么我们在Action中如何访问 这些web对象呢? 访问这些web内部对象有2种方式: 1.直接访问Web对象 Struts2框架提供org.apache.struts2.ServletActionContext辅助类来获得web对象.HttpServletRequest request = ServletA…
由于在Action中并不能直接诶访问Servlet API,但它提供了相关类ActionContext来访问HttpServletRequest.HttpSession和ServletContext,所以在向前端页面传值的方法就出现了多样化.一般我们经常使用的就是通过request.session来传值,至于Application范围这一级别的基本上用的少. 1. 首先如果变量是Action的全局变量,并且定义了Setter方法,那么此时无须做任何更多工作,只要它有值在前端页面就可以取到.此时取…
如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作,从而解决类太多的问题.1.method方式:建立一个Action类,在类中编写不同的方法,在不同的方法中处理不同的请求.  在struts.xml中配置method属性,让不同的action指向同一个Action类的不同方法. 2.感叹号方式: <constant name="struts.e…
odelDriven 为什么需要ModelDriven 所谓ModelDriven,意思是直接把实体类当成页面数据的收集对象.比如,有实体类User如下: package cn.com.leadfar.struts2.actions; public class User { private int id; private String username; private String password; private int age; private String address; publi…
概述 struts2为Action中的属性提供了依赖注入功能 在struts2的配置文件中,我们可以很方便地为Action中的属性注入值.注意:属性必须提供get,set方法. 配置 <action name="helloworld" class="com.liuyong666.action.HelloWorldAction"> <param name="savePath">/resource</param>…
Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="username"/><br/> 密 码:<s:password name="password"/><br/> <s:…
在学习strut2的时候,发现如果修改配置文件中Action的时候,刷新浏览器并不能加载修改后的Action,只能关闭服务,重新开启server才能获取到,上网找了许多资料后发现只要在配置文件中加上下面一句话就可以了. <constant name="struts.devMode" value="true" /> 这句话的意思是说开启struts的调试模式,这样就不需要关闭server直接刷新浏览器就可以了.…
简单来说,有很多相关的方法都加载进来,你直接调用就行了,而且在安全上和稳定性上做了很好的处理 实际上继承ActionSupport之后 就等同于实现了很多接口 Action,Validateable,ValidationAWare,TextProvider,LoacalProvider,Serializable 可以提供数据校验 序列化 国际化等功能 当然 如果不继承ActionSupport 而是自己实现上述接口 效果也是一样的.继承ActionSupport只是为了一次性实现多个接口方便而已…
1.通过ActionContext类(拿到的不是真正的servlet api,而是一个map) ActionContext context = ActionContext.getContext(); context.getSession(); context.getApplication(); 2.通过ServletActionContext类(拿到的是真正的servlet api) ServletActionContext.getRequest(); ServletActionContext.…
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post"name="form1"> 用户名:<s:textfieldname="username"/><br/> 密 码:<s:passwordname="password"/><br/>…
对于如何把struts2的action中的值传到jsp页面中,主要的方法有2种: 使用转发视图利用request域中储存所需的值 使用重定向时存储数据进入session使其在jsp中可以获得 下面,让我们分先后的讲解这2种方法! 一.转发到jsp: 准备步骤: jsp页面随时准备使用el表达式获取request中的值, action中的值分2种,一种是在方法中诞生的,作用域也是方法内:一种是定义为类成员(并带有get,set或者为public),此种方式只需赋值. 2.操作流程: 对于actio…
1.     如何将参数从界面传递到Action? 你可以把Struts2中的Action看做是Struts1的Action+ActionForm,即只需在Action中定义相关的属性(要有getters/setters方法),然后界面传参的名称跟这些属性保持一致即可.普通的数据类型,将可自动转换.(空字符串转换为int类型时将报错) 2.     如何将数据从Action传输到JSP? 可通过多种方式传输 通过Action的属性传输 直接给action的属性赋值,在转向之后的JSP中,直接用标…
首先action是用来处理请求的, 这里struts2中的action的3中创建方式. 1.无侵入性的创建方式. 无侵入性:使用第三方的框架,不直接继承或实现第三方提供的类或者接口就说是无侵入性的. 无侵入性说明框架耦合度低,方便扩展,重构方便 public class HelloAction1 { public String hello(){ System.out.println("无侵入性创建Action的方法"); return Action.SUCCESS; } } 2.继承s…
struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1"> 用户名:<s:textfield name="username"/><br/> 密 码:<s:password name="password"/><br/&g…
在Struts2中jsp前台传值到action后台的方法 分类: java2012-02-28 13:58 2171人阅读 评论(1) 收藏 举报 actionstrutsjspgetterstringsetter struts2中的Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" name="form1">   用户名:<s:…
精帖1:http://blog.csdn.net/lfsf802/article/details/7277013 精帖1:http://blog.csdn.net/wmj2003/article/details/5018927 struts2.x的action是有状态的,因此的scope需要是prototype,防止并发数据异常.struts1.x的action是无状态的,因此的scope要设为singleton或默认,效率高. struts1.x默认是单实例(singleton),就是你每次请…
也许有些人会因为学习了struts1,会以为struts2.struts1与spring的整合也是一样的,其实这两者相差甚远.下面就来讲解一下struts2与spring的整合两种方案.(部分转载,里面也有自己的内容) 借助于Spring插件(Struts2-spring-plugin-XXX.jar),我们可以非常简单地完成Spring和Struts2的整合,这种整合包括让Action自动装配Spring容器中的Bean,以及让Spring管理应用中的Action两种方式,不管采用哪种方式,完…
1.    深入Struts2的配置文件 本部分主要介绍struts.xml的常用配置. 1.1.    包配置: Struts2框架中核心组件就是Action.拦截器等,Struts2框架使用包来管理Action和拦截器等.每个包就是多个Action.多个拦截器.多个拦截器引用的集合. 在struts.xml文件中package元素用于定义包配置,每个package元素定义了一个包配置.它的常用属性有: l name:必填属性,用来指定包的名字. l extends:可选属性,用来指定该包继承…
序号 方法 说明 1 <constant name="struts.i18n.encoding" value="UTF-8"/> 指定web应用默认编码集,相当调用HttpServletRequest的setCharacterEncoding方法 2 <constant name="struts.action.extension" value="do"/> 指定需要struts2处理请求后缀,该属性默认…
个人对于struts有一种复杂的心情,平心而论,struts2是个人最早接触到的的框架,在学校的时候就已经开始学习了,大四毕业设计,无疑用的还是struct,那时候SSH还是很流行的,后来出来实习,直接接触的是springmvc ,此时spring版本已经至少是3.X了,记得那时候,看马士兵老师的ssh视频,连马老师都说springMVC用的人很少,估计当时springmvc还没有现在这么流行,虽然现在基本不怎么用struts2,但是学习一种思想还是蛮好的 Struts2中的action跟str…
1.     如何将参数从界面传递到Action? 你可以把Struts2中的Action看做是Struts1的Action+ActionForm,即只需在Action中定义相关的属性(要有getters/setters方法),然后界面传参的名称跟这些属性保持一致即可.普通的数据类型,将可自动转换.(空字符串转换为int类型时将报错) 2.     如何将数据从Action传输到JSP? 可通过多种方式传输 通过Action的属性传输 直接给action的属性赋值,在转向之后的JSP中,直接用标…
http://blog.csdn.net/significantfrank/article/details/7712053 1. Command Pattern 基本定义: 把Command(Request)封装成对象,把发出命令(Invoker)的责任和执行命令(Receiver)的责任分割开,委派给不同的对象. 责任划分有什么好处? 责任约单一,内聚性越高,可重用的可能性越大,试想下,如果服务员不仅要点菜,还要去做菜,会是什么情景. 为什么把Invoker和Receiver解耦好处多? 类之…
源自:Struts2的动态Action实现 在Struts2中动态方法调用有三种方式. 一.指定method属性在struts.xml中指定action的method属性. <package name=”demo1” extends=”struts-default”> <action name=”Login” class=”com.demo.LoginAction” /> <result name=”input”>/input.jsp</result> &l…