OGNL表达式语言浅谈.docVIP

  • 1
  • 0
  • 约8.31千字
  • 约 15页
  • 2020-04-09 发布于广东
  • 举报
OGNL表达式语言浅谈 OGNL(Object Graphic Navigation Language,对象图导航语占)是一种功能强大的 EL( Expression Language,表达式语言,JSP2.0规范),Struts2的核心表达式语言,OGNL是一个开源JAVA 项目,但因为使用Struts2,我们完全不需要知道OGNL到底里面是什么东东,只需要按照 Struts2的规则知道如何使用就OK T !第二章已经说过(请参看第二章的OGNL结构图), Struts2将Action中的实例压入值栈(ValueStack,值栈,Struts2的根对象,可以把它简单的 理解为List,只不过它遵循堆栈的特点,先进后出!), session等放入Context Map中,然后 使用OGNL遍历对象结构图进行操作。 在 JSP 中,sessions request、application^ attr (如果可以就从 pageContext 查找,否则就依 次到request^ sessionapplication中查找)、parameters (用于取URL上的参数,同名的变 量可以使用索引)等对象取值时要使用前缀#告诉Struts?不要到值栈中查找,例如: (l.)#mation, #session[ student-information? ], OGNL 中使用.或者[]访问 对象的属性,两者的区别是当属性中有“■”等特殊字符时,我们需要使用[]; (2.)URL 为 http://locaohost:9999/struts01/HelloWorld.ok?name=goldpassword=jsmart,如果 我想取name的值,需要这样写# ,取password的值就是 #parameters. password ; 女 口 果 是 http://localhost:9999/strutsOVHelloWorld.ok?password=goldpassword=jsmart , #parameters.password[0]収的就是 gold, #parameters.password[l]=jsmart; (3.)%{A}所有基于这种形式的内容,都会被解析并到值栈中求值,也就是会到Value Stack中 查找A所代表的值;如果你想A被当作字符串原样传递,那么可以这样表示%{ A },当 然你直接使用A有的时候也是可以的,但为了通用性,建议使用%{ A },以免产生不必要 的麻烦。 (4JOGNL操作集合,例如值栈中存在map,我们可以这样访问map[ a],表示访问Map 中key值为a的value值是多少,map.size访问大小等等。 (5JOGNL访问类中的静态变量和静态方法:@完整类名@属性名,@完整类名@方法名,例 如: Package net.ilkj.ognl Public Class A{ Public static final String a=T; Public static String findA() { Return 2; } ,我们就可以在页面上使用v:sproperty value=n @net.ilkj.ognl.A@a” />尽心输出! 从上面可以看出,在Struts2中使用OGNL,可以简单看作就是对象.属性。 context屮的String变量可以不加#来访问. 访问context中的变量:语法是<s:property value=#变量名.属性名”/> 访问root中的变量属性:语法是<s:property value=属性名/>,也可以是<s:property value=[index_number].属性名/>index_number是元素在ArrayList容器屮的位置,从0计起 8.2.1 Struts 2 的 OGNL 表达式 2008-06-04 13:04闫术卓/杨强等编著 电了工业出版社 我要评论(()) 摘要:《Struts 2技术详解:基于WebWork核心的MVC开发与实践》第8章主要讲的 是 OGNL, OGNL 是 Object GraphicNavigation Language (对象图导航语言)的缩写,OGNL 是 一个开源项日,读者可以访问其官方站点以获得源代码和相关资料。OGNL是一 种功能强人的EL (Expression Language,表达式语言),可以通过简单的表达式来访问Java对 象中的属性。木节为您介绍Struts 2的0GNL表达式。 标签:Struts 2技术详解 OGNL WebWork MVC开发实践 ■ Oracle帮您准确洞察各个物流环节 8.2 Struts 2 的 OGNL OGNL是Struts 2框架

文档评论(0)

1亿VIP精品文档

相关文档