- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
struts2 总结之OGNL表达式
文章分类:Java编程
struts2 总结之 OGNL表达式(2010-02-23 12:19:52) 转载标签:struts2ognl 详解标签javassh杂谈
作者: 最近的项目开发中使用了 struts2的框架,但是好多人都不清楚 struts2 的标签的具体的用法,要想完全掌握struts2标签的用法,那么你必须先精通了 struts2中OGN的用法。struts2中很多东西其实理解就行,但是惟独 OGN虽 然内容不多,但是确必须的精通,这是学习 struts2的基础。
Struts2 中内置了 OGNI表达式的支持,使得 Struts2的具有比Struts1 更为强大的数据访问的功能。本文主要讲解 OGN的使用方法,并不会去讲解一
些原理性的东西,想要了解的朋友可以自己去查阅相关的资料
在OGNL勺使用主要分以下部分来讲解:
1.使用OGN访问对象(不同范围的取值)
2.OGNL的集合操作(OGN元素符,以及过滤和投影功能)
3.OGNL访问静态成员(怎么访问静态成员) 4. lambda表达式,在OGNI中使用一些简单的函数以及 OGNI总结(在总结之后 会详解Struts2的标签的使用)
一、使用OGN访问对象
读取struts2 中的ValueStack中的值
struts2 中引入了 ValueStack的概念,在struts2 中默认使用 ValueStack 作为OGNL勺StackContext的根元素
OGNL在读取根元素的时候能够直接进行读取
假设action中有
private Cat cat; private Dog dog;俩个对象,那么在jsp页面读取方 法就是
s:property value=cat. name/读取Cat
s:property value=cat. name/
读取Cat的name属性的值
s:property value=/读取Dog的name属性值2 使用 #读取 parameters request session application s:property value=#request.id/ request.getAttribute(id)范围内的值 ()相当于s:property value=#parameters.id/request.getParameter(id)相当于s:property value=#session.id/session.getAttribute(id)相当于s:property value=#application.id/application.getAttribute(id)相当于
s:property value=/
读取Dog的name属性值
2 使用 #读取 parameters request session application s:property value=#request.id/ request.getAttribute(id)
范围内的值 ()
相当于
s:property value=#parameters.id/
request.getParameter(id)
相当于
s:property value=#session.id/
session.getAttribute(id)
相当于
s:property value=#application.id/
application.getAttribute(id)
相当于
s:property value=#attr.id/ HttpServletRequest HttpSession ServletContext 为止
二、OGN的集合操作
依次搜索 PageContext
范围 ,查找属性, 找到
1 创建一个集合
{e1,e2,e3} 直接创建一个 List 类型的集合
#{Key1:Value1,Key2:Value2} 构建一个 Map类型的集合
使用: s:set name=sex value=#{1:
男 , 2: 女}/
s:property value=#sex[id]/ 值, 并用它作为 key 去查找对应的
在 ValueStack 范围内找到 id 的
value
OGNL 元素符
对于集合,OGN提供了两个元素符:in和not in,其中in判断某个元素 是否在指定集合中;not in则用于
判断某个元素是否不在指定集合中。
判断一个对象是否在 List 内存在:
s:if test=foo in {foo,bar}
muhahaha
/s:if
s:else
boo
/s:else
s:if test=foo not in {foo,bar}
muhahaha
/s:if
s:else
原创力文档


文档评论(0)