ognl调用静态的方法

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"/>

这个和上面也类似...访问的是静态的属性


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ognl.getValue是一个Java开发中常用的工具类方法,用于获取对象的属性值或调用对象的方法。它是基于OGNL(Object-Graph Navigation Language)表达式语言实现的。 OGNL是一种强大的表达式语言,可以在Java中方便地访问和操作对象的属性、方法和集合等。Ognl.getValue方法可以通过传入一个OGNL表达式和一个上下文对象,来获取表达式对应的属性值或方法返回值。 使用Ognl.getValue方法时,需要引入相应的依赖包,并按照以下步骤进行操作: 1. 创建一个OgnlContext对象,作为表达式的上下文环境。 2. 使用Ognl.parseExpression方法将表达式字符串解析为一个OgnlExpression对象。 3. 调用Ognl.getValue方法,传入上下文对象和解析后的表达式对象,即可获取属性值或方法返回值。 例如,假设有一个Person类,有name和age两个属性,我们可以使用Ognl.getValue方法来获取Person对象的属性值: ```java import ognl.Ognl; import ognl.OgnlContext; public class Main { public static void main(String[] args) throws Exception { Person person = new Person("Alice", 25); OgnlContext context = new OgnlContext(); Object expression = Ognl.parseExpression("name"); Object value = Ognl.getValue(expression, context, person); System.out.println(value); // 输出:Alice } } class Person { private String name; private int age; public Person(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值