Struts2类数据封装】的更多相关文章

Struts2当中数据封装的三种机制:属性驱动.标签驱动.模型驱动.下面来一一介绍. 一.属性驱动 1.需要提供对应属性的set方法进行数据的封装. 2.表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可. 3.表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量. 4.注意:Struts2的框架采用的拦截器完成数据的封装. 5.注意:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且还需要手动将数据存入到对象中. 6.…
Struts2的数据封装:Struts2是一个web层框架,框架是软件的半成品.提供了数据封装的基本功能. 注:Struts2底层(核心过滤器里面的默认栈里面的拦截器,具体见struts-default.xml)完成了参数的接收.封装.类型转换的功能.例如字符串与基本类型转换的功能 分类: 属性驱动:提供属性set方法的方式(基本不用).页面中提供表达式方式(实际上是内部提供的OGNL表达式) 模型驱动(最常用):采用模型驱动方式,通过实现一个模型驱动的接口ModelDriven,手动提供对象的…
在很多的实际开发场景中,页面提交请求参数Action ,在Action中接收参数并对接收的数据进行封装.封装到一个JavaBean中,将JavaBean传递给业务层中.Struts2数据封装分为两类:属性驱动,模型驱动. 1.模型驱动 通过实现ModelDriven接口来接收请求参数.实现接口并且重写getModel()方法 Action类代码如下: package com.huan.web.action; import com.huan.domain.Customer; import com.…
第一种方式:属性驱动提供对应属性的set方法进行数据的封装.表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可.表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量. 注意:a:Struts2的框架采用的拦截器完成数据的封装.b:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且还需要手动将数据存入到对象中.c:这种情况下,Action类就相当于一个JavaBean,就没有体现出MVC的思想,Action类又封装数据,又…
一.通过ActionContext类获取 public class ActionContextDemo extends ActionSupport {    @Override    public String execute() throws Exception {        //获取ActionContext对象        ActionContext context = ActionContext.getContext();        //调用getParameters对象获取参…
struts框架封装数据可以封装到集合中也可以封装到map中,该篇博客主要讲解将数据封装到map中. 1. 封装复杂类型的参数(集合类型 Collection .Map接口等) 2. 需求:页面中有可能想批量添加一些数据,那么现在就可以使用上述的技术了.把数据封装到集合中3. 把数据封装到Map中(双元素集合) * Map集合是键值对的形式,页面的写法 > <input type="text" name="map['one'].name" /> *…
数据封装到集合中,可以封装到集合中,也可以封装到Map中.该篇博客主要讲解数据封装到集合中的封装到Collection中. 1. 封装复杂类型的参数(集合类型 Collection .Map接口等) 2. 需求:页面中有可能想批量添加一些数据,那么现在就可以使用上述的技术了.把数据封装到集合中 3. 把数据封装到Collection中(单元素集合)封装到集合集合中可以存储多条数据 * 因为Collection接口都会有下标值,所有页面的写法会有一些区别,注意: > <input type=&q…
Struts2中提供了两类数据封装的方式? 第一种方式:属性驱动(有两种方式:一个对属性,另外一个是将参数封装到javaBean中) B. 在页面上,使用OGNL表达式进行数据封装.(将参数封装到javaBean中) * 在页面中使用OGNL表达式进行数据的封装,就可以直接把属性封装到某一个JavaBean的对象中. * 在页面中定义一个JavaBean,并且提供set方法:例如:private User user; * 页面中的编写发生了变化,需要使用OGNL的方式,表单中的写法:<input…
request带着参数来,aciton对其进行处理.在学习action之前,使用的是servlet对request进行处理.request请求时会带有参数,所以我们要对这些参数进行封装. 1. 为什么要使用数据的封装呢? * 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中 * 封装数据为开发提供了很多方便 * Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 2. Struts2中提供了两类数据封装的方式? * 第…
一.Struts2访问Servlet的API 前面已经对Struts2的流程执行完成了,但是如果表单中有参数如何进行接收?又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能. 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问Servlet API.虽然Struts2中的Action访问Servlet API麻烦一些,但是这却是Struts2中Ac…
技术分析之在Struts2框架中使用Servlet的API        1. 在Action类中也可以获取到Servlet一些常用的API        * 需求:提供JSP的表单页面的数据,在Action中使用Servlet的API接收到,然后保存到三个域对象中,最后再显示到JSP的页面上.            * 提供JSP注册的页面,演示下面这三种方式 <h3>注册页面</h3> <form action="${ pageContext.request.c…
一.Struts2访问Servlet的API 前面已经对 Struts2的流程已经执行完成了,但是如果表单中有参数如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习 Struts2访问 Servlet的API来实现这样的功能. 在 Struts2中, Action并没有直接和 Servlet api进行耦合,也就是说在 Struts2的 Action中不能直接访问 Servlet api.虽然 Struts2中的 Action访问 Servlet API麻烦一些,但是…
目录 Struts2的介绍与执行流程 介绍: 执行流程: 运行环境搭建 基础示例 Action类的编写 介绍: 访问servlet API 补充: 配置文件 常见配置文件: 常量的配置: struts.xml配置: Action的访问配置: 结果视图result的配置: 数据封装: 普通属性的封装 复杂类型的数据封装 数据封装中的报错:Input逻辑视图: 补充: OGNL 介绍: OGNL的使用认识: 使用: 值栈 获取值栈: 操作值栈: 小演示: OGNL中的特殊符号 EL的强化: 补充:…
Struts2中提供了两类数据封装的方式? * 第二种方式:模型驱动 > 使用模型驱动的方式,也可以把表单中的数据直接封装到一个JavaBean的对象中,并且表单的写法和之前的写法没有区别! > 编写的页面不需要任何变化,正常编写name属性的值 > 模型驱动的编写步骤: * 手动实例化JavaBean,即:private User user = new User(); * 必须实现ModelDriven<T>接口,实现getModel()的方法,在getModel()方法中…
1. Struts2 框架中使用 Servlet 的 API 来操作数据 1.1 完全解耦合的方式 Struts2 框架中提供了一个 ActionContext 类,该类中提供了一些方法: static ActionContext getContext(): 获取 ActionContext 对象实例; Map<Object> getParameters(): 获取请求参数, 相当于 request.getParameterMap(); Map<Object> getSession…
启动后访问jsp 输入姓名密码: 提交后跳转打action 打印: 修改类: 配置同上 结果同上. 实现这俩接口 就得到了 以上代码附上: struts.xml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" &quo…
总结Struts2 框架 struts2技术的优势 项目开源,使用及拓展方便 提供Exception处理机制 Result方式的页面导航,通过Result标签很方便的实现重定向和页面跳转 通过简单.集中的配置来调度业务类,使得配置和修改都非常容易 提供简单.统一的表达式语言来访问所有可访问的数据 提供标准.强大的验证框架和国际化框架 提供强大的.可以有效减少页面代码的标签 提供良好的Ajax支持 拥有简单的插件,只需放入相应的Jar包,任何人都可以扩展Struts2框架,比如自定义拦截器.自定义…
Struts2的第二天 Struts2的第二天的内容 1. Struts2框架中的Servlet的API的使用 2. Struts2中Action接收请求参数 3. Struts2中自定义拦截器 案例一:使用Struts2作为WEB层完成客户的新增功能 需求分析 1. 原来是使用Servlet作为WEB层框架,现在需要使用Struts2作为WEB层完成客户的新增功能 技术分析之在Struts2框架中使用Servlet的API 1. 在Action类中也可以获取到Servlet一些常用的API *…
1.结果嗯配置 (1)全局结果页面 (2)局部结果页面 (3)result标签type属性 2.在action获取表单提交数据 (1)使用ActionContext类获取 (2)使用ServletActionContext类获取 (3)使用接口注入方式获取 3.struts2提供获取表单数据方式 (1)属性封装 (2)模型驱动封装 4.struts2获取数据封装到集合中 (1)封装到list集合 (2)封装到map集合 5.扩展,表达式封装和模型驱动比较 结果页面配置 全局结果页面 1 resu…
http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行完成了,但是如果表单中有参数,那如何进行接收又或者我们需要向页面保存一些数据,又要如何完成呢?我们可以通过学习Struts2访问Servlet的API来实现这样的功能. 在Struts2中,Action并没有直接和Servlet API进行耦合,也就是说在Struts2的Action中不能直接访问S…
1.2 知识点 1.2.1 Struts2的Servlet的API的访问 1.2.1.1 方式一 : 通过ActionContext实现 页面: <h1>Servlet的API的访问方式一:解耦合的方式</h1> <form action="${ pageContext.request.contextPath }/requestDemo1.action" method="post"> 姓名:<input type="…
一. Package 标签 1. 标签属性:name        : 包的名称,只有在一个项目中不重名即可.extends       : 继承哪个包,默认为 struts-default.namespace  : 名称空间,与<action> 标签中的 name 属性决定访问路径    - 名称空间写法:         - 带名称的: namespace="/a"        - 不带名称: namespace="/"        - 默认空间…
Struts2框架提供了很强大的数据封装的功能,不再需要使用Servlet的API完成手动封装了!! 第一种方式:属性驱动 > 提供对应属性的set方法进行数据的封装.--经常使用 * 表单的哪些属性需要封装数据,那么在对应的Action类中提供该属性的set方法即可. * 表单中的数据提交,最终找到Action类中的setXxx的方法,最后赋值给全局变量. * 注意0:Struts2的框架采用的拦截器完成数据的封装. * 注意1:这种方式不是特别好:因为属性特别多,提供特别多的set方法,而且…
第一步:在tomcat启动的时候 1.在tomcat启动的时候,首先会加载struts2的核心过滤器StrutsPrepareAndExecuteFilter <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> &l…
Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在WebWork基础之上的Struts2是一个运行稳定.性能优异.设计成熟的WEB框架. 我这里的struts2源码是从官网下载的一个最新的struts-2.3.15.1-src.zip,将其解压即可.里面的目录页文件非常的多,我们只需要定位到struts-2.3.15.1\src\core…
Struts2是Struts社区和WebWork社区的共同成果,我们甚至 可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并不是一个不成熟的产品,相反,构建在 WebWork基础之上的Struts2是一个运行稳定.性能优异.设计成熟的WEB框架. 我这里的struts2源码是从官网下载的一个最新的struts-2.3.15.1-src.zip,将其解压即可.里面的目录页文件非常的 多,我们只需要定位到struts-2.3.15.1\src\c…
struts2的工作机制 原文:http://eoasis.iteye.com/blog/642586 概述 本章讲述Struts2的工作原理. 读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验,那么千万不要想当然地以为这一章可以跳过.实际上 Struts1.x与Struts2并无我们想象的血缘关系.虽然Struts2的开发小组极力保留Struts1.x的习惯,但因为Struts2的核 心设计完全改变,从思想到设计到工作流程,都有了很大的不同. Struts2是Strut…
读者如果曾经学习过Struts1.x或者有过Struts1.x的开发经验,那么千万不要想当然地以为这一章可以跳过.实际上Struts1.x与Struts2并无我们想象的血缘关系.虽然Struts2的开发小组极力保留Struts1.x的习惯,但因为Struts2的核心设计完全改变,从思想到设计到工作流程,都有了很大的不同. Struts2是Struts社区和WebWork社区的共同成果,我们甚至可以说,Struts2是WebWork的升级版,他采用的正是WebWork的核心,所以,Struts2并…
MVC模式-----struts2框架 第一个struts2程序 struts2框架是通过一个过滤器将struts2集成到Web应用程序中的,这个过滤器的对象是StrutsprepareAndExecuteFilter.struts2框架通过过滤器对象,获取web应用中的Http请求,并将http请求转发到的指定Action进行处理,Action根据处理结果返回给用户相应的页面. 创建一个简单的struts项目,需要创建于用户进行交互并获取输入信息的jsp页面:呈现最终信息的页面:创建一个用于业…