您的位置:首页 > 其它

OGNL

2016-04-05 19:28 309 查看
利用OGNL和s:property在jsp中读取值栈中的属性值

1.对象栈

(1)访问某个对象的属性

object.propertyName

object['propertyName']

object["propertyName"]

(2)应用对象

.message:从第n个对象开始搜索

若n=0,可直接省略[0]。直接写:message

(3)结合s:property标签

<s:property value="[0].message"/>

2.Map栈

在访问对象站的基础上前面加#号

利用OGNL调用字段和方法

OGNL 调用:

任何一个 Java 类里的静态字段或方法.

被压入到 ValueStack 栈的对象上的公共字段和方法.

默认情况下, Struts2 不允许调用任意 Java 类静态方法, 需要重新设置 struts.ognl.allowStaticMethodAccess 标记变量的值为 true.

调用静态字段或方法需要使用如下

访问数组类型的属性

有些属性将返回一个对象数组而不是单个对象,可以像读取任何其他对象属性那样读取它们

可以使用下标访问数组中指定的元素:object[0]
可以通过调用其length 字段查出给定数组中有多少个元素:object.length

访问 List类型的属性

可以使用下标访问List 中指定的元素:object[0]
可以通过调用其size 方法或专用关键字size 的方法查出给定List的长度:object.size或 object.size()
可以通过使用 isEmpty()方法或专用关键字 isEmpty来得知给定的 List是不是空

还可以使用OGNL 表达式来创建 List

访问 Map类型的属性

Map 的值,需要使用如下格式:map[key]
可以使用 size或 size()得出某个给定的 Map的键值对的个数
可以使用 isEmpty或 isEmpty()检查某给定 Map是不是空.

创建Map:

#{key1:value1,ke2:value2,.....}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: