struts2中的property标签 其value值

简单介绍
1)涉及问题:取值时什么时候该加#,什么时候不加?

2)介绍

Struts2中的property标签

[html] view plain copy
<s:property value="...."/>  

用于获取ognlcontext对象中的属性值,亦称为数据标签。其中value的值为具体的属性名称。

获取值时,一般有两种情况:

1)在获取request/session/application/attr/parameters这五个范围时,需要明确指定范围,比如

[html] view plain copy
<s:property value="#request.属性名" />  

范围前面需要带#号才能正确获取属性值。

2)如果取ValueStack中的值时,是不需要带#的,可以直接取。

比如Action实例的属性值是存储在ValueStack中的,所以取Action中的属性是不需要带#号的。

然而,在使用<s:iterator id=“it” value=“attrName”>时,后使用it去取对象属性时,是需要加#号的。

注:<s:property>要正确获取Action中的属性值,必须在在action中设置了该属性的setter/getter方法,否则它不会被拦截器处理。

value参数值介绍
value参数的类型是object,可以理解为这个默认是会解析成ognl表达式的。

比如需要输入一个字符串string

[html] view plain copy
<s:property value="‘string’">
注意,在value里面的字符串string外面加了单引号,这样不会将string解析成ognl表达式了。.

故value的值解析成OGNL表达式,在此表达式内,有些对象的值的使用与Java代码相似,但不相同,以下取几个例子

1)value为String对象时,一些常用的String子函数使用

[html] view plain copy
string.length() //字符串长度  
string.substring(0,130) //按起末位取子串  

2)value为List时
在获取List的大小时,可以使用其变量的size值,比如取List对象group的数组长度

[html] view plain copy
<s:property value="groups.size" />  

3)value内还可以写表达式,比如输出一个整型变量page的+1值

[html] view plain copy
<s:property value="page+1" />    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值