利用OGNL和s:property在jsp中读取值栈中的属性值
1.对象栈
(1)访问某个对象的属性
object.propertyName
object['propertyName']
object["propertyName"]
(2)应用对象
[n].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.
1.对象栈
(1)访问某个对象的属性
object.propertyName
object['propertyName']
object["propertyName"]
(2)应用对象
[n].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]
可以使用下标访问数组中指定的元素: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,.....}