ongl 公共静态方法

Struts2的OGNL调用公共静态方法

分类: WEB   433人阅读  评论(0)  收藏  举报

一直以来都知道Struts2的OGNL支持在前台调用后台的静态方法,以前也用过,但用的比较少,今天自己重新开始了一个新的项目,在实现一个功能的时候用到了Struts2的在前台调用后台的静态方法,弄了半天没有出来结果,原来是自己没有在Struts的配置文件里面申明可以在前台使用后台的静态方法,故写出来供自己以后参考参考,并以此为教训。

 

假设有一个com.xxx.util.Util类,其中有一个叫sayHello的公共静态方法:

Java代码   收藏代码
  1. public static String sayHello(String name) {  
  2.         return "HELLO " + name;  
  3.     }  

 

那么在前台就可以这样来调用该静态方法:

Html代码   收藏代码
  1. <:property value="@com.xxx.util.Util@sayHello('tiantian')"/>  

 

要使在前台能够顺利的调用后台的公共静态方法,还需要在Struts的配置文件里面申明可以在前台调用后来的静态方法

Xml代码   收藏代码
  1. <constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>    
  2. 附录:
  3. OGNL中.[]与.运算符
        EL 提供.和[]两种运算符来存取数据。
        当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如:
            ${user.My-Name}应当改为${user["My-Name"] }
        如果要动态取值时,就可以用[]来做,而.无法做到动态取值。例如:
            ${sessionScope.user[data]}中data 是一个变量

  4. EL运算符
      1.算术运算符有五个:+、-、*或$、/或div、%或mod
      2.关系运算符有六个:==或eq、!=或ne、<或lt、>或gt、<=或le、>=或ge
      3.逻辑运算符有三个:&&或and、||或or、!或not
      4.其它运算符有三个:Empty运算符、条件运算符、()运算符
        例:${empty param.name}、${A?B:C}、${A*(B+C)}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值