因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有操作性,但其实,Coding多了,才发现国外的书写的深刻.清晰.能传道解惑. 一.主要收获 1. Struts2 框架的数据流入和流出 使用 Struts2 标签时,所有非字符串属性都被当作 OGNL表达式进行解析. 使用  %{expression} 语法可以强制将字符串属性当作 OGNL表达式解析. 2.…
如前端页面jsp中的标签为: <form action="myurl"> <input type="checkbox" name="User.name" value="zhangsan">张三 <input type="checkbox" name="User.name" value="lisi">李四 </form>…
Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无参的public方…
在jsp页面中可以通过ONGL表达式获取struts2中action处理后的变量的值,这是因为每一个action在初始化后都会放到strackcontext中,可以通过ONGL表达式取到值. 注意要在action中有变量相对应的get方法才行,不然依然是取不到值的. jsp页面中可以用js代码取值…
访问struts2的action页面出现白板问题 故需要设置拦截此action的拦截栈, <bean id="authenticationInterceptor" class="com.cosl.util.interceptor.AuthenticationInterceptor"></bean><!--权限拦截器 --> <?xml version="1.0" encoding="UTF-8&…
课时7 为Action的属性注入值(增加灵活性,适用于经常更改的参数) Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值.注意:属性必须提供setter方法. <action name="list" class="tutorial.HelloWorld" method="other"> <param name="save">…
Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也很有效,由于它把不通的模型和不同的视图组合在一起,完成不同的请求 ⑤ Mvc更符合软件工程化管理的精神 2.Struts2框架的大致处理流程: ① 浏览器发送请求,如请求/mypage.action ② 核心控制器FilterDispatcher根据请求决定调用合适的Action ③ Webwork…
写给自己的话 好记性不如烂笔头,不可能说看了一遍视频就可以完全掌握的.留下这篇笔记,便于今后的复习吧. 1. 访问ServletAPI 访问ServletAPI(response,request,)的三种方式: ActionContext方式 实现***Aware接口 ServletActionContext 2.Action的搜索顺序 以http://localhost:8080/struts2/path1/path2/path3/student.action为例. 第一步:先判断packag…
Struts2 学习笔记 目录 01 Struts2-Action 一.         Struts作用: 二.         搭建Struts2的运行环境: 三.         Namespace 四.         <package>标签 五.         Action 六.         路径问题的说明 七.         Action的动态调用方法 八.         Action通配符(wildcard)的配置 九.         Action的属性接收参数 1.…
Struts2的Action 开发者需要提供大量的Action,并在struts.xml中配置Action.Action类里包含了对用户请求的处理逻辑,因为我们也称Action为业务控制器. 一.编写Action处理类 第一种创建处理类方法 : struts2采用了低侵入式的设计,struts2不要求Action类继承任何的struts基类,也不需要实现任何接口.Action类只是一个普通的POJO(Plain Ordinary Java Object简单的java对象) 第二种:创建一个类实现…
关于struts2中action请求会执行两次的问题     在struts2中发现,调用action中的方法,方法会被执行两次,后来发现调用的方法是get开头的,把它改为其他名称开头的后,就不会执行两次了.继续查找,发现调用的是返回json数据格式的action,如果是调用返回页面的action就不会有这种问题.     结合网上的搜索,总结了一下:         1.  json格式下, firefox中的yslow插件会发送第二个 HTTP GET 请求得到页面的信息..        …
Action基础 Action是什么 在Struts2中,一个Action类代表一次请求或调用,每个请求的动作都对应于一个相应的Action类,一个Action类是一个独立的工作单元.也就是,用户的每次请求,都会转到一个相应的Action类里面,由这个Action类来进行处理,因此一个Action类代表了用户的一次请求或调用.简单来说,Action就是用来处理一次用户请求的对象. Action能干什么 public class HelloWorldAction implements Action…
struts2.0 s标签 1. Struts2页面开发中常用标签使用说明 1.1.往action里传值的使用方式: <input name="userName" type="text" class="input6" size="15"> a. userName属性需要在访问的action中提供相应的属性,并有SET/GET方法. b. 可以不在访问的action中提供相应的属性,用request.getParam…
在项目中,需要在输入错误的url的时候,弹出友好的错误提示页面 在struts2中可以通过配置默认的action达到这个目的 配置方法: <package name="default" namespace="/" extends="struts-default"> <default-action-ref name="index"></default-action-ref> <actio…
在以前的学习中,<action>元素的配置,都是用明确的配置,其name.class等属性都是一个明确的值.其实Struts2还支持class属性和method属性使用来自name属性的通配符. 1)接下来看看使用通配符的示例,如果我们使用以下<action>配置: <action name="*_*" class="cn.javass.action.action.{1}Action" method="{2}">…
 Struts2的核心功能是action,对于开发人员来说,使用Struts2主要就是编写action,action类通常都要实现com.opensymphony.xwork2.Action接口,并实现该接口中的execute()方法. 该方法如下: public String execute() throws Exception Struts2并不是要求所有编写的action类都要实现Action接口,也可以直接编写一个普通的Java类作为action,只要实现一个返回类型为String的无参…
Struts2的目录结构: 解压apps目录下的struts2-blank.war: 仿照这个最基本的项目,拷贝相关文件: 1.拷贝apps/struts2-blank/WEB-INF/classes/struts.xml到我们的项目中的src目录(因为src编译完成后会自动放在classes目录): 2.拷贝类库apps/struts2-blank/WEB-INF/lib/*.jar到自己项目的WebRoot/WEB-INF/lib下. 3.拷贝apps/struts2-blank/WEB-I…
Struts2框架技术重点笔记 1.Struts2 是在webwork基础上发展而来. 2.Struts2 不依赖struts API和 servlet API 3.Struts2提供了拦截器,表现层技术:jsp +freeMarket+ velocity 4.Struts2可以对指定的方法进行校验,提供了全局范围,包范围和action范围的国际化资源文件的管理实现. 环境搭建:找到对应的jar包 编写struts的配置文件 <?xml version="1.0" encodin…
1.*号通配符优化struts.xml代码 创建一个UserAction的动作类 package action; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ //添加用户 public String add(){ return SUCCESS; } //删除用户 public String delete(){ return SUCCESS; } //更新用…
1,框架概述 1.1,什么是框架(了解) 将一些重复性的代码进行封装,简化程序员的编程操作,可以使得程序员在编码中把更多的精力放到业务需求的分析和理解上面,相当于一个半成品软件. 1.2,三大框架(掌握) SSH:struts.hibernate.spring SSM:springmvc.mybatis.spring(现在更流行) 1.3,三层架构(掌握) 表现层-->业务层-->数据层 即:Web-->Service-->Dao MVC架构(Model,View,Controll…
1. ActionMethod:Action执行的时候并不一定要执行execute方法,可以在配置文件中配置action的时候用"method"属性来指定执行哪个方法,也可以在url地址中动态指定(动态方法调用DMI)struts.xml文件的配置: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software F…
当我们访问项目下一个不存在的Action的时候,页面就会报错,404找不到资源,这样对用户来说是非常不友好的,所以我们设置一个默认的Action,当找不到对应Action的时候,就会跳转到默认Action指定的页面. 在配置Action的helloworld.xml中要这样配置默认Action: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apac…
struts2中action是多例的,即一个session产生一个action如果是单例的话,若出现两个用户都修改一个对象的属性值,则会因为用户修改时间不同,两个用户访问得到的 属性不一样,操作得出的结果不一样.举个例子:有一块布长度300cm,能做一件上衣(用掉100cm)和一件裤子(用掉200cm);甲和乙同时访问得到的 长度都是300cm,甲想做上衣和裤子,他先截取100cm去做上衣,等上衣做完再去做裤子,而乙这时正好也拿100cm去做上衣,那 好,等甲做完上衣再做裤子的时候发现剩下的布(…
Struts2的Action可以是一个POJO(即简单的javaBean),也实现Action接口,或者继承ActionSupport类. 1.Action接口: public interface Action { public static final String SUCCESS = "success"; public static final String NONE = "none"; public static final String ERROR = &q…
Struts2之Action MVC模式中需要有一个控制器来负责浏览器与服务器之间的通信,实现用户与服务器的交互.在Struts2框架中实现这一功能的是Action,它是整个框架最核心的部分.Action负责存储数据和状态,与应用的具体业务逻辑打交道. 一.Action简介 实现Struts2框架的Action有两种方案: 实现框架所提供的Action接口 使用框架所提供的ActionSupport基类 无论使用哪一种都必须实现execute()方法,返回的则是逻辑视图名. 二.返回结果 Act…
struts中一个正常的最普通不过的action是这样子的 <package name="default1" namespace="/gys" extends="struts-default"> <action name="registAction" class="com.b.Regist" method="test"> <result name="…
Struts2如何传值到jsp页面 不是action传值到jsp页面,而是jsp页面获取action中的属性值,或者范围(如request,session,application等)里的值.所以,有两种方法1,获取的是action属性的值,用struts2标签和ognl即可获取如,<s:property  value="属性名.属性名..."/> 这种形式2,获取的是范围内的值直接使用EL表达式如${name}为requestScope范围绑定的名为name的属性,省略re…
xml的注释: <!--叨叨叨叨--> web.xml注释格式": <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance…
struts2中Action到底是什么,怎么理解 1.配置完web.xml2.创建视图页面login.jsp3.创建业务控制器LoginAction类(解释说:创建业务控制器LoginAction类,该类为程序的Action类)4.配置LoginAction类(解释说:当Action处理完客户端请求后返回一个字符串,没个字符串对应一个视图) 那么这个Action到底是什么,是一个类吗?怎么理解它,它和用于标签的有什么区别. 解决方案 首先,你了解Servlet么?Servlet是运行在java服…
一.Struts2配置文件 1.struts.properties 在学习Action之前先学下Struts2的配置文件,与Struts2相关的配置文件有好几个,常用的有Struts.xml,web.xml,这两个在MyStruts2的项目中也有使用,其实还有一个可选的配置文件,主要配置Struts2的一些属性,struts.properties.它主要用来配置一些参数,每个可配置的参数都有默认值,如无需修改修改参数任何值,可不添加.默认属性位于包org/apache/struts2下的defa…