struts2中ognl可以调用类中静态的方法
步骤如下
1.修改配置
访问静态方法在struts2.1以后的版本里面需要设置一个属性,否则系统默认是不支持访问静态方法的(struts2.0版本默认是支持访问静态方法的).具体的方法是在struts.xml里面添加这么一句
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
或者在struts.properties的文件中添加
struts.ognl.allowStaticMethodAccess = true
2.静态调用
注意,两个@是约定..也就是必须这么写.第一个@后面跟的是类的全名.第二个@后面跟的是对应的方法名.当然,这个方法必须是静态的
<s:property value="%{@ClobTool@readOracleClob(clob_content,request)}"/>
其中的clob_content是值栈中的变量
访问静态属性
<s:property value="@com.test.util@parm"/>
这个和上面也类似...访问的是静态的属性