2019独角兽企业重金招聘Python工程师标准>>>

1.#符号的用途一般有三种。
   1)访问非根对象属性,例如示例中的#session.msg表达式,由于Struts 2中值栈被视为根对象,所以访问其他非根对象时,需要加#前缀。实际上,#相当于ActionContext. getContext();#session.msg表达式相当于ActionContext.getContext().getSession(). getAttribute(”msg”) 。
    2)用于过滤和投影(projecting)集合,如示例中的persons.{?#this.age>20}。
    3)用来构造Map,例如示例中的#{'foo1':'bar1','foo2':'bar2'}。

2.%符号
%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:
构造Map
<s:set name="foobar" value="#{'foo1':'bar','foo2':'bar2'}" />

<p>The value of key "foo1" is <s:property value="#foobar['foo1']" /></p>

<p>不使用%:<s:url value="#foobar['foo1']" /></p>

<p>使用%:<s:url value="%{#foobar['foo1']}" /></p>

3.$符号
$符号主要有两个方面的用途。

在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在${min}同${max}之间。

在Struts 2框架的配置文件中引用OGNL表达式,例如下面的代码片断所示:
<validators>
    <field name=”intb”>
            <field-validator type=”int”>
            <param name=”min”>10</param>
            <param name=”max”>100</param>
            <message>BAction-test校验:数字必须为${min}为${max}之间!</message>
        </field-validator>
    </field>
</validators>

转载于:https://my.oschina.net/u/2331760/blog/403923

Struts2 ognl中的#、%和$符号用法说明相关推荐

  1. OGNL中#、%和$的用法

    1.OGNL中#的用法 (1) 访问非根对象(struts中根对象为值栈,OGNL要结合struts标签来使用),如OGNL上下文和Action上下文,#相当于ActionContext.getCon ...

  2. [转载] python语言中表示赋值的符号是_Python 语言中 asterisk 符号用法小结

    参考链接: Python中的Inplace与标准运算符 点击上方"蓝字"关注我们 作者 | 孔令昌 编辑 | 张婵 对于 asterisk符号的使用,本文分为预定义(predefi ...

  3. C与C++中的常用符号与标点用法详解及实例

    C与C++中的常用符号与标点符号有:"+"."-"."*". "/"."%"."& ...

  4. C语言中常见的符号和注释的用法

    文章目录 前言 一.换行符号\n \n的具体用法和作用 二.取地址符号& &的具体用法和作用 三.注释 注释的格式 注释的作用 注释在代码中的具体体现 总结 前言 本篇文章主要给大家讲 ...

  5. js中(双感叹号)符号的用法解读

    最近在前端vue工程开发中看到一个js用法,对js初学者来说这是一个容易混淆的地方,趁此机会研究研究!!的用法. if (!!getItem('Authorization')) { console.l ...

  6. Struts2 OGNL

    OGNL(Object-Graph Navigation Language)的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能 ...

  7. OGNL的基本语法与用法

    OGNL表达式的基本语法和基本用法 一.OGNL中的#.%和$符号 #.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里我们简单介绍它们的相应用途. 1.#符 ...

  8. struts2 OGNL表达式

    一.OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对 ...

  9. java各种符号用法_java中点符号的用法

    }? } 图 2.4 6. 其他运算符以上是常见的分类运算符,在Java中还有一些特殊 的运算符,如表10所示. 表10 其他运算符符号 功能 () (参数表) (类型) . [...... [jav ...

最新文章

  1. js时间戳转换成日期格式
  2. CSS核心内容整理 - (中)
  3. 如何为网站增加索引,促进网站SEO优化?
  4. c语言 异或_C语言经典例题来袭!5大方法告诉你答案
  5. mybatis中#和$区别
  6. Oracle入门(十四.3)之创建PL / SQL块
  7. win10无法连接到这个网络_电脑无法连接网络怎么办?(有线网络篇)
  8. 连接MySQL和连接文件夹区别,对数据库连接问题的一点总结
  9. 微信小程序,格式化千分位并保留两位小数
  10. raft算法_golang-raft算法理论与实践
  11. JavaEE学习03--Servlet
  12. python循环抓取图片_【Python系列】第2篇:批量下载图片
  13. 教师国培计算机计划,教师国培计划大全
  14. nginx源码包安装
  15. windows局域网的一个经典的入侵方法
  16. iOS 加粗字体方法 (不改变字体字号只加粗文字)
  17. 三位分节制顺口溜_小学数学顺口溜
  18. 【2022小米秋招(2023校招)】软件开发方向 笔试题1——链表反转
  19. [数据结构与算法]动态规划:扔鸡蛋问题
  20. 磁盘管理器/磁盘管理工具给电脑硬盘分区

热门文章

  1. html打折代码,HTML打折计算价格实现原理与脚本代码
  2. oracle dd if=/dev/zero of=/dev,【转】dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解...
  3. matlab欧拉法程序,欧拉法matlab程序.doc
  4. java .net des_DES加密解密 JAVA与.NET互通程序代码
  5. java 多线程 notify_Java多线程8:wait()和notify()/notifyAll()
  6. JDK1.8中String类的intern()方法学习
  7. ElasticSearch fuzzy模糊查询(英文检索)
  8. ORACLE日期时间函数大全(一)
  9. 金三银四!你想好转行产品经理了吗?
  10. 2021社区居家养老现状与未来趋势报告