Struts2-OGNL表达式

本文详细介绍了Struts2框架中的Object Graphic Navigation Language (OGNL)表达式的使用方法,包括如何通过OGNL访问上下文对象、创建及遍历集合与Map对象,并提供了具体的标签用法示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Object Graphic Navigation Language 对象图导航语言

struts2中OGNL需要配合struts标签或EL表达式(EL只能访问ValueStack中的对象)才可以使用

访问上下文对象:  #request、#session等,  对于根对象(ValueStack)不需要加#访问

使用struts标签创建集合对象:

<s:set var="mylist" value="{元素一,元素二,元素n}" />

使用struts标签创建map对象

<s:set var="mymap" value="#{key1:value1,key2:value2,keyn:valuen}" />

使用struts标签遍历ognl对象

<s:iterator value="#mylist">  <s:property /><br></s:iterator>

说明:property标签在没有指明value属性时,默认读取ValueStack栈顶的值

<s:iterator value="#mymap">  <s:property value="key"/> = <s:property value="value"/><br></s:iterator>

判断对象是否存在于集合中,使用in或not in

使用投影功能:  mylist:{?#this.属性1 > n}   ---->  返回mylist中属性1的值大于n的元素的集合  ?返回满足条件的子集合  ^返回满足条件的第一个元素  $返回满足条件的最后一个元素

1.#符号的用途一般有三种 –访问非根对象属性,例如示例中的#session.msg表达式,#相当于ActionContext.getContext() –用于过滤和投影(projecting)集合,如persons.{?#this.age>30} –用来构造Map,例如:#{0:'男',1:'女'}

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

转载于:https://www.cnblogs.com/zhangmiao/archive/2013/03/16/2962589.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值