Struts(十一):OGNL表达式(二)】的更多相关文章

总结: 一:ActionContext的结构: 1:set标签创建的对象也是作为非值栈对象. 2:(非值栈的存储都是以键值对的方式存的.) [问非值栈的 User对象] [用例] 关于request:China不加引号则表示设置的是变量而不是常量,在页面上用以下标签是拿不到值的 用debug查看非值栈里面的变量: 所以重点来了: [此时的获取方式:首先到非值栈的request 表示的key里面去寻找,request里没有找到名为country2的这个键,然后再直接查找非值栈中有没有country…
Ognl经常使用标签:   1.s:debug       假设把该标签放入到s:iterator中能够看到当前正在迭代的元素的状态    2.s:property       1.输出       2.value属性:值能直接跟ognl表达式       3.假设value属性不写.则默认输出栈顶的元素    3:s:iterator标签       (1).iterator迭代Collection,Map,Object[],还能够以组合的形式迭代       (2).当前正在迭代的元素在栈顶…
1.什么是OGNL? 2.Struts 2 OGNL 表达式      ======================  华丽丽的分割线  ======================  1.什么是OGNL? 1.0. OGNL简介: OGNL(Object Graphic Navigation Language)对象导航语言,OGNL是一种功能强大的EL(Expression Language,表达式语言),可以通过简单的表达式来访问Java对象中的属性,而不是直接调用对象的获取和设置方法.这可…
OGNL表达式(#号的用法) 用法1:访问OGNL上下文和Action上下文,#相当于ActionContext.getContext() 1.如果访问其他Context中的对象,由于他们不是根对象,所以在访问时,需要添加#前缀 2.  如果访问根对象(即ValueStack)中对象的属性,则可以省略#命名对象,直接访问该对象中的属性即可. 对象栈中的元素是有顺序的,底层是ArrayList封装容器.使用ognl搜索顺序自上而下 OGNL表达式%{}用法 %符号的用途是在标签的属性值被理解为字符…
一.ActionContext的重要性 struts中的数据都存放在ActionContext里,所以这部分是Action中的核心. ActionContext又称广义值栈,既然有广义值栈就有侠义值栈. 1.广义值栈,指的是ActionContext对象,是Action运行的上下文,包含着request.session.application.attr.parameters.和侠义值栈(Value Stack)等.以后说值栈的时候默认指的就是广义值栈. 2.侠义值栈,ActionContext以…
Struts2的标签库(二) --OGNL表达式 1.Struts2中的OGNL表达式增加了ValueStack的支持. 注:ValueStack--实际上是一个容器对象,该对象在启动Struts2框架时被创建,当前端的JSP页面向Action发送请求时,Struts2框架会将请求的数据封装并存放在栈顶,当请求结束后,此栈顶的数据被清除.Struts2的标签访问数据就是通过访问ValueStack来实现的. 2.Struts2可以直接从对象中获取属性,可以自动搜索Stack Context的所有…
我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用   Struts2标签库提供了主题.模板支持,极大地简化了视图页面的编写,而且,struts2的主题.模板都提供了很好的扩展性.实现了更好的代码复用.Struts2允许在页面中使用自定义组件,这完全能满足项目中页面显示复杂,多变的需求.Struts2的标签库有一个巨大的改进之处,struts2标签库的标签不依赖于任何表现层技术,也就是说strtus2提供了大部分标签…
一.OGNL表达式1.概念:是表达式语言,专门用来访问对象取值用的.2.对比EL表达式使用场景: A.EL主要用在web的jsp页面取值 B.OGNL适用以下环境 1.java程序中 2.在页面使用(配合struts2的标签) 3.在配置文件中使用 二.OGNL在java程序中的使用: Ognl.getValue("表达式", 根对象):三.OGNL在页面中取值1.在stuts2中后台存取数据有两种情况 A.action的属性(值栈) B.在值栈中的数据表达式不加#,在各种作用域中(r…
Struts2总结 Struts2完整的处理流程: 1  客户端发送请求,交给struts2控制器(StrutsPrepareAndExecuteFilter). 2  Filter控制器进行请求过滤,如果是/actionName.action,/actionName(默认)两种格式请求,执行后给Action处理. 3 Filter控制器创建一个ValueStack对象,讲Action对象压入栈顶,将request,session,application等对象装入Context区域. 4  Fi…
Struts2 用s:porperty标签和OGNL表达式来读取值栈中的属性值: I.值栈中的属性值: 1.对象栈:读取对象栈中的某一个对象的属性值: 2.Map栈 :request,session,application的一个属性值或一个请求参数的值. II.读取对象栈(ObjectStack)中的对象属性: 1.若想读取Object Stack里的某个对象的属性,可以通过以下集中形式之一: object.propertyname object['propertyname'] object["…