热门课程

免费试听

上课方式

开班时间

当前位置: 首页 -   文章 -   新闻动态 -   正文

ONGL表达式主要用途及使用方法

知了堂姐
2024-07-08 17:22:16
0

ONGL表达式主要用途及使用方法

OGNL是对象图导航语言(Object-Graph Navigation Languaged)的缩写,他是一种功能强大的表达式语言,通过简单一致的表达式语法,可以存取Java对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型的转化功能。他使用相同的表达式去存取对象的属性。如果吧表达式看作一个带有语义的字符串,那么OGNL无疑成为了这个语义字符串与java对象之间沟通的桥梁。

OGNL是通常要结合Struts 2的标志一起使用。主要是#、%和$这三个符号的使用。


#、%、$三个符号的主要用途

“#“符号主要有三种用途:

1、访问OGNL上下文和Action上下文(非根对象属性,值栈被视为跟对象,因此访问非跟对象的时候需要添加#前缀),#相当于ActionContext.getContext()

attr 用于按request > session > application顺序访问其属性(attribute),直到找到为止

2、用于过滤和投影(projecting)集合,如books.{?#this.price<100};

3、构造Map,如#{‘foo1’:’bar1’, ‘foo2’:’bar2’}。


“%”符号

%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值,类似js中的eval


“$”符号主要有两种用途

1、用于在国际化资源文件中,引用OGNL表达式。

2、在Struts 2和i18n中配置文件

ONGL的一些基本用法:

1、访问属性

value="对象名.属性值" />

2、访问方法

value="对象名.方法名()" />

3、访问静态属性和方法

value="@类名@方法名()" />

value="@类名@属性名" />

4、访问数组、容器、对象

OGNL支持对数组和ArrayList等容器的顺序访问(Set集合不可以,因为它是无序的),即通过下标进行访问。


//List

         //获取List

     //获取List中索引为index的元素

      //获取List的大小


//Map

         //获取Map

       //获取Map中所有的键

      //获取Map中所有的值

      //获取Map中索引为index的元素

      //获取Map中键为key的元素的值


//构造List或Map对象,主要用于表单select、radio、checkbox的生成

//运行结果是相当于之前标签的两个radio

5、访问构造方法


6、投影、选择

OGNL支持类似数据库中的投影(projection) 和选择(selection)。

投影就是选出集合中每个元素的相同属性组成新的集合,类似于关系数据库的字段操作。投影操作语法为 collection.{XXX},其中XXX 是这个集合中每个元素的公共属性。

//语法:集合名.{表达式}

value="products.{name}" var="curproduct"> //只获得每个商品的名字进行显示

value="#name" />

选择就是过滤满足selection 条件的集合元素,类似于关系数据库的纪录操作。

选择操作的语法为:collection.{X YYY},其中X 是一个选择操作符,后面则是选择用的逻辑表达式。而选择操作符有三种:

? 选择满足条件的所有元素

^ 选择满足条件的第一个元素

$ 选择满足条件的最后一个元素

  //选取所有价格大于3000的商品

   //选取所有价格大于3000的商品的名称

 //选取所有价格大于3000的第一个商品

大家都在看

成都it培训机构哪个好?IT培训机构靠谱吗

2024-07-08 浏览次数:0

一个完整的web框架是什么?常用的web开发框架

2024-07-08 浏览次数:0

2022,前端就业现状怎么样?

2024-07-08 浏览次数:0

考研落榜没关系,高薪岗位等你来!

2024-07-08 浏览次数:0

【就业】知了堂25班就业模拟面试

2024-07-08 浏览次数:0

前端、后端、全栈都是什么?前端、后端和全栈

2024-07-08 浏览次数:0
最新资讯