s:property 标签——value属性使用事项

简单介绍

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

2)介绍

Struts2中的property标签

 

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

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

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

 

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

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

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

然而,在使用时,后使用it去取对象属性时,是需要加#号的。

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

value参数值介绍

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

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

 

注意,在value里面的字符串string外面加了单引号,这样不会将string解析成ognl表达式了。.

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

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

 

string.length() //字符串长度

string.substring(0,130) //按起末位取子串

2)value为List时

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

 

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

 

你可能感兴趣的:(s:property 标签——value属性使用事项)