Struts2------OGNL表达式
Posted psyu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Struts2------OGNL表达式相关的知识,希望对你有一定的参考价值。
OGNL介绍
它是Object-Graph Navigation Language的缩写(也称为对象图导航语言),它是一种功能强大的表达式语言,通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功能。
在El表达式里面可表示为:$类.属性名 。 通过类取获得属性,这就是对象图导航语言
对比EL表达式和OGNL表达式:
1.用法区别
OGNL是通常要结合Struts 2的标志一起使用,如<s:property value="#xx" /> struts页面中不能单独使用,el可以单独使用 $sessionScope.username
2.页面取值区别
名称 |
servlet |
ognl el |
parameters |
request.getParameter("username") |
#username $username |
request |
request.getAttribute("userName") |
#request.userName $requestScope.username |
session |
session.getAttribute("userName") |
#session.userName $sessionScope.username |
application |
application.getAttribute("userName") |
#application.userName $applicationScope.username |
attr |
用于按request > session > application顺序访问其属性(attribute) |
#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为 |
案例
OGNL向ValueStack压栈(先进后出)
前台向后台传值
后台提供的set、get方法
以上是关于Struts2------OGNL表达式的主要内容,如果未能解决你的问题,请参考以下文章