Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构
Struts2_day03
上节内容
| 1 在action获取表单提交数据 (1)使用ActionContext类获取 (2)使用ServletActionContext类获取 (3)接口注入 2 结果配置 (1)全局结果页面和局部结果页面 (2)result标签type属性 - type属性值: -- 默认值是dispatcher做转发 -- redirect做重定向 -- chain转发到action -- redirectAction重定向到action 3 struts2提供获取表单数据方式 (1)属性封装 (2)模型驱动封装 (3)表达式封装 4 struts2获取数据封装到集合中 5 使用模型驱动和属性封装注意问题: (1)不能同时使用对同一个表单进行数据操作 6 表达式封装和模型驱动比较 (1)相同点:可以把数据封装到实体类对象里面 (2)不同的:表达式封装可以封装到多个实体类对象里面 | 
今天内容
| 1 ognl概述 2 ognl入门案例 3 什么是值栈 (1)servlet和action区别 (2)值栈存储位置 - 每个action对象里面有一个值栈对象 - 值栈对象里面有action引用 4 如何获取值栈对象 5 值栈内部结构 (1)root:list集合 (2)context:map集合 6 向值栈放数据 (1)s:debug标签 (2)向值栈放字符串 (3)向值栈放对象 (4)向值栈放list集合 - set方法 - push方法 - 定义变量,get方法 7 从值栈获取数据 (1)从值栈获取字符串 (2)从值栈获取对象 (3)从值栈获取list集合 - s:iterator标签使用 8 EL表达式获取值栈数据 (1)增强request里面getAttribute方法 9 ognl表达式 #、%使用 | 
OGNL概述
| 1 之前web阶段,学习过EL表达式,EL表达式在jsp中获取域对象里面的值 2 OGNL是一种表达式,这个表达式功能更加强大, (1)在struts2里面操作值栈数据 (2)一般把ognl在struts2操作:和struts2标签一起使用操作值栈 3 OGNL不是struts2的一部分,单独的项目,经常和struts2一起使用 (1)使用ognl时候首先导入jar包,struts2已经提供jar包 | 
OGNL入门案例
| 1 使用ognl+struts2标签实现计算字符串长度 
 (1)在java代码中,调用字符串.length(); 2 使用struts2标签 (1)使用jstl时候,导入jar包之外,在jsp页面中引入标签库 使用struts2标签时候,在jsp中引入标签库 
 (2)使用struts2标签实现操作 
 | 
什么是值栈
| 1 之前在web阶段,在servlet里面进行操作,把数据放到域对象里面,在页面中使用el表达式获取到,域对象在一定范围内,存值和取值 2 在struts2里面提供本身一种存储机制,类似于域对象,是值栈,可以存值和取值 (1)在action里面把数据放到值栈里面,在页面中获取到值栈数据 3 servlet和action区别 (1)Servlet:默认在第一次访问时候创建,创建一次,单实例对象 (2)Action:访问时候创建,每次访问action时候,都会创建action对象,创建多次,多实例对象 4 值栈存储位置 (1)每次访问action时候,都会创建action对象, (2)在每个action对象里面都会有一个值栈对象(只有一个) 
 | 
获取值栈对象
| 1 获取值栈对象有多种方式 (1)常用方式:使用ActionContext类里面的方法得到值栈对象 
 2 每个action对象中只有一个值栈对象 
 
 
 | 
值栈内部结构
| 1 值栈分为两部分: 第一部分 root,结构是list集合 (1)一般操作都是root里面数据 
 第二部分 context,结构map集合 
 2 struts2里面标签 s:debug,使用这个标签可以查看值栈结构和存储值 (1)访问action,执行action的方法有返回值,配置返回值到jsp页面中,在jsp页面中使用这个标签 
 点击超链接看到结构 
 (2)在action没有做任何操作,栈顶元素是 action引用 
 - action对象里面有值栈对象 - 值栈对象里面有action引用 | 
Struts2_day03--课程安排_OGNL概述入门_什么是值栈_获取值栈对象_值栈内部结构的更多相关文章
- Struts2_day01--课程安排_Struts2概述_入门
		Struts2_day01 Struts2课程安排 今天内容 Struts2概述 Struts2框架入门 导入源文件 Struts2执行过程 查看源代码 Struts2的核心配置文件 标签packag ... 
- Hibernate_day01--课程安排_Hibernate概述_Hibernate入门
		Hibernate_day01 Hibernate课程安排 今天内容介绍 WEB内容回顾 JavaEE三层结构 MVC思想 Hibernate概述 什么是框架 什么是hibernate框架(重点) 什 ... 
- 01Mybatis_课程安排
		课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开发)问题总结 mybatis框架原理 (掌握) m ... 
- mybatis由浅入深day01_1课程安排_2对原生态jdbc程序中问题总结
		mybatis 第一天 mybatis的基础知识 1 课程安排: mybatis和springmvc通过订单商品 案例驱动 第一天:基础知识(重点,内容量多) 对原生态jdbc程序(单独使用jdbc开 ... 
- 中科院 2014年GCT考前辅导课程安排
		: 2014年GCT考前辅导课程安排 发布时间: 2014-07-14 阅读次数:1225 默认字体 9pt ... 
- SpringMVC由浅入深day02_1课程安排_2包装类型pojo参数绑定_3集合类型绑定
		springmvc第二天 高级知识 复习: springmvc框架: DispatcherServlet前端控制器:接收request,进行response HandlerMapping处理器映射器: ... 
- 01_Python 基础课程安排
		Python 基础课程安排 目标 明确基础班课程内容 课程清单 序号 内容 目标 01 Linux 基础 让大家对 Ubuntu 的使用从很 陌生 达到 灵活操作 02 Python 基础 涵盖 Py ... 
- Linux:课程安排、Linux简介、虚拟机安装、课前准备(常用设置和操作)
		一.课程安排 1)Linux 的作用 商业服务器基本上都是 Linux: 开源软件都先支持 Linux: 大数据分析.机器学习首先选 Linux: 整个互联网地基靠Linux撑起来: Linux 系统 ... 
- cogs——644. 课程安排问题
		644. 课程安排问题 ★ 输入文件:curriculum.in 输出文件:curriculum.out 简单对比时间限制:1 s 内存限制:128 MB 问题描述 一个软件专业的学生 ... 
随机推荐
- Mysql 数据库数值类型详解
			MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ... 
- MySQL-Transfer2.3发布
			Transfer 2.3发布,下载地址 此版本除了升级based版本外 *优化了无索引表的同步性能 *优化了slave模式下超大事务内存消耗问题 *Transfer模式相关的功能改动较多 *修复tra ... 
- RPC服务框架dubbo(三):Dubbo支持的协议
			1.Dubbo 1.1 Dubbo官方推荐的协议. 1.2 本质:使用NIO和线程池进行处理. 1.3 缺点:大文件传输时可能出现文件传输失败问题. 2.RMI 2.1 JDK提供的协议,远程方法调用 ... 
- atitit.attilax.com产品 软件项目通用框架类库总结
			atitit.attilax.com产品页面 1. 微信公众号后台服务系统 1 2. 视频图文发布与点播系统 1 3. 图片验证码自动识别 2 4. 手机短信验证码自动识别 2 5. 爬虫,数据采集, ... 
- Ubuntu环境下使用npm安装node模块时报错的处理方法
			错误信息: npm ERR : node: not found : npm ERR! not ok code 0 解决方案: sudo apt-get install nodejs-legacy 也可 ... 
- Python内置函数property()使用实例
			class Shuxing(): def __init__(self, size = 10): self.size = size def getSize(self): print('getSize') ... 
- mem_fun与mem_fun_ref的区别
			一句话:container<ClassType*>就用mem_fun,container<ClassType>就用mem_fun_ref 参考: http://www.cplu ... 
- 使用JSTL的sql:query标签制作分页查询遇到NoSuchFieldError: deferredExpression
			参考:http://hi.baidu.com/desyle/item/4fe650265792d7182a0f1c33 症状: 如题所述,代码如下 <sql:query var="re ... 
- python保存爬取的图片
			用爬虫抓取图片的保存 保存图片 request=urllib2.Request(randNumberUrl,data,headers) picture=opener.open(request).rea ... 
- (C#)程序员必读的一些书籍
			前言 ·貌似公司里很著名的一句话,在这里套用过来了,WP研发工程师,首先是WPF/SL研发工程师,WPF/SL研发工程师首先是是个C#研发工程师,C#研发工程师首先Windows研发工程师.Windo ... 
 
			
		











