关闭

ongl 公共静态方法

593人阅读 评论(0) 收藏 举报

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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:185166次
    • 积分:3385
    • 等级:
    • 排名:第10310名
    • 原创:124篇
    • 转载:223篇
    • 译文:0篇
    • 评论:11条
    最新评论
    操作系统知识点总结
    回顾面试常考的操作系统知识点