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值

 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,779评论 18 399
  • 概述 什么是Struts2的框架Struts2是Struts1的下一代产品,是在 struts1和WebWork的...
    inke阅读 2,277评论 0 50
  • action中如何接受页面传过来的参数 第一种情况:(同名参数) 例如:通过页面要把id=1 name=tom a...
    清枫_小天阅读 3,012评论 1 22
  • 千山万水一世冬 by浅浅兮 月华蒙霜露深重, 千山万水一世冬。 佳音飘渺若惊鸿, 缱绻相思小心愁。 痴情莫笑孤影空...
    琉璃树I浅浅兮阅读 309评论 0 0