OGNL中的#%$符号

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

1.#符号

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

2.%符号

%符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。如下面的代码所示:

构造Map

The value of key "foo1" is 
不使用%:
使用%:

运行界面如图8.4所示。

图8.4 “%”的OGNL表达式用法

3.$符号

$符号主要有两个方面的用途。
>>>
在国际化资源文件中,引用OGNL表达式,例如国际化资源文件中的代码:reg.agerange=国际化资源信息:年龄必须在${min}同${max}之间。
>>>
在Struts 2框架的配置文件中引用OGNL表达式,例如下面的代码片断所示:

10
100
BAction-test校验:数字必须为${min}为${max}之间!

转载于:https://www.cnblogs.com/jadmin/archive/2009/08/15/2206033.html

OGNL中的#、%和$符号相关推荐

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

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

  2. C语言中的弱符号与强符号介绍

    弱符号(Weak symbol)是链接器(ld)在生成ELF(Executable and Linkable Format,缩写为ELF,可执行和可链接格式,是一种用于可执行文件.目标文件.共享库和核 ...

  3. 你知道R中的赋值符号箭头(-)和等号(=)的区别吗?

    作为一门高级语言,R语言拥有独特的语法,比如今天说道的赋值符号.在其他语言里,赋值符合通常用一个等号(=)表示,而在R语言里,承担这个任务的可以是箭头(<-)符号,也可以是等号(=).这就导致许 ...

  4. 你知道R中的赋值符号箭头和等号的区别吗?

    作者:陈亮 单位:中国科学院微生物研究所 你知道R中的赋值符号箭头(<-)和等号(=)的区别吗? 作为一门高级语言,R语言拥有独特的语法,比如今天说道的赋值符号.在其他语言里,赋值符合通常用一个 ...

  5. Day25 linux shell中的特殊符号与命令

    2019独角兽企业重金招聘Python工程师标准>>> linux shell中的特殊符号 *:代表零个或多个任意字符 ?:只代表一个任意字符,不管是数字还是字母,只要是一个字符,都 ...

  6. mysql 密码 特殊符号_MySQL数据库之mysql设置复杂密码中含$特殊符号导致无法命令行登录...

    本文主要向大家介绍了MySQL数据库之mysql设置复杂密码中含$特殊符号导致无法命令行登录 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 安全考虑 在设置MYSQL 密码时候 ...

  7. html中的插入特殊符号的方法,在Word2016中插入特殊符号的方法

    在Word2016文档中输入符号和输入普通文本有些不同,虽然有些输入法也带有一定的特殊符号,但是Word的符号样式库却提供了更多的符号供文档编辑使用.直接选择这些符号就能插入文档中.本文图文介绍在Wo ...

  8. shell脚本中一些特殊符号

    shell脚本中一些特殊符号 在shell中常用的特殊符号罗列如下: # ;   ;; . , / \\ 'string'| !   $   ${}   $? $$   $* \"strin ...

  9. excel公式中的$(美元符号)的作用

    绝对引用($)与相对引用的区别 相对引用 在创建公式时,单元格或单元格区域的引用通常是相对于包含公式的单元格的相对位置.     例如,元格 B6 包含公式 =A5 :Microsoft Excel ...

  10. php 代码符号,网站开发编程中的特殊符号处理_php

    1 php中单引号与双引号的区别 在PHP中,通常一个字符串被定义在一对引号中,如: 'I am a string in single quotes' "I am a string in d ...

最新文章

  1. c语言英语笔试题,C语言面试题(国外英语资料).doc
  2. python可视化界面工具_8个流行的 Python可视化工具包,你喜欢哪个?
  3. 不同语言编译的程序入口总结
  4. Redis中的发布与订阅
  5. 【推荐系统】深入理解YouTube推荐系统算法
  6. codewars??? Is my friend cheating?
  7. 什么叫基于web的网站_选择离开家乡在外打工,学门什么专业的技术更有前途呢?-WEB资讯专栏-DMOZ中文网站分类目录...
  8. 一起谈.NET技术,Visual Studio对程序集签名时一个很不好用的地方
  9. 用AUTOCAD建模的篮球
  10. tensorflow搭建神经网络
  11. maple软件安装教程
  12. 挖金矿问题java课程设计_Win32 挖金矿游戏源代码
  13. Centos7之Hadoop完全分布式集群搭建和配置
  14. Mac和Windows系统中ssh密钥的生成和共享
  15. ORACLE读取XML
  16. 西宾知乎语音下载工具(zhihudownload)
  17. 阿里巴巴资深算法专家刘忠义:聚星台——客户运营核心大数据与算法技术
  18. linux 误删文件恢复
  19. 罗振宇“时间的朋友”跨年演讲:为做事的人服务 准确抓住小趋势
  20. http status 400,http 400,400 错误

热门文章

  1. Linux服务之cobbler批量部署篇
  2. THUWC2019游记
  3. Python入门学习-DAY35-线程
  4. mysql-5.7.12安装
  5. 解决CentOS内网机通过Windows下架设代理来访问网络
  6. JAVA过滤器的使用(Filter)
  7. Python for Infomatics 第12章 网络编程四(译)
  8. 夺命雷公狗---微信开发18----删除自定义菜单
  9. EntityFramework 7 Linq Contains In 奇怪问题(已修复)
  10. URL提交之前对数据编码