Struts2------OGNL表达式

时间:2019-06-28 21:14:47   收藏:0   阅读:122

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方法

技术图片

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!