Struts2类型转换和OGNL

1. 自定义类型转换器:Struts2提供一个基类:org.apache.struts2.util.StrutsTypeConverter。该类是抽象类,须实现convertFormString()和convertToString()方法。
2. struts2提供2肿方式配置转换器:
a) 应用于全局范围的类型转换器:须在classpath的跟路径下创建一个xwork-conversion.properties的属性文件,内容为:转换类全名=类型转换器类全名。
b) 应用于特定类的类型转换器:须在特定类的相同目录下创建一个名为ClassName-conversion.properties的属性文件(ClassName为实际的类名),内容为:特定类的属性名=类型转换器类全名。
访问静态方法属性:@类全名@方法名/属性名 (须在struts2.xml文件中配置<constant name=”struts.ognl.allowStaticMethodAccess” value=”true” />)。
访问普通构造方法:new 类全名()。
访问List中元素某个属性的集合:集合名.{属性名}。在ognl中大括号可以代表一个集合。
投影(过滤):
<s:property value="users.{?#this.age==1}"/> 得到age等于1的集合
<s:property value="users.{^#this.age>1}"/>得到age大于1的集合第一个对象
<s:property value="users.{$#this.age>1"/>得到age大于1的集合最后的对象
<s:property value="users.{$#this.age>1} == null"/>判断age大于1的集合是否为null。

你可能感兴趣的:(类型转换,struts2,Ognl)