Struts2 ognl中的#、%和$符号用法说明
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中的#、%和$符号用法说明相关推荐
- OGNL中#、%和$的用法
1.OGNL中#的用法 (1) 访问非根对象(struts中根对象为值栈,OGNL要结合struts标签来使用),如OGNL上下文和Action上下文,#相当于ActionContext.getCon ...
- [转载] python语言中表示赋值的符号是_Python 语言中 asterisk 符号用法小结
参考链接: Python中的Inplace与标准运算符 点击上方"蓝字"关注我们 作者 | 孔令昌 编辑 | 张婵 对于 asterisk符号的使用,本文分为预定义(predefi ...
- C与C++中的常用符号与标点用法详解及实例
C与C++中的常用符号与标点符号有:"+"."-"."*". "/"."%"."& ...
- C语言中常见的符号和注释的用法
文章目录 前言 一.换行符号\n \n的具体用法和作用 二.取地址符号& &的具体用法和作用 三.注释 注释的格式 注释的作用 注释在代码中的具体体现 总结 前言 本篇文章主要给大家讲 ...
- js中(双感叹号)符号的用法解读
最近在前端vue工程开发中看到一个js用法,对js初学者来说这是一个容易混淆的地方,趁此机会研究研究!!的用法. if (!!getItem('Authorization')) { console.l ...
- Struts2 OGNL
OGNL(Object-Graph Navigation Language)的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能 ...
- OGNL的基本语法与用法
OGNL表达式的基本语法和基本用法 一.OGNL中的#.%和$符号 #.%和$符号在OGNL表达式中经常出现,而这三种符号也是开发者不容易掌握和理解的部分.在这里我们简单介绍它们的相应用途. 1.#符 ...
- struts2 OGNL表达式
一.OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对 ...
- java各种符号用法_java中点符号的用法
}? } 图 2.4 6. 其他运算符以上是常见的分类运算符,在Java中还有一些特殊 的运算符,如表10所示. 表10 其他运算符符号 功能 () (参数表) (类型) . [...... [jav ...
最新文章
- js时间戳转换成日期格式
- CSS核心内容整理 - (中)
- 如何为网站增加索引,促进网站SEO优化?
- c语言 异或_C语言经典例题来袭!5大方法告诉你答案
- mybatis中#和$区别
- Oracle入门(十四.3)之创建PL / SQL块
- win10无法连接到这个网络_电脑无法连接网络怎么办?(有线网络篇)
- 连接MySQL和连接文件夹区别,对数据库连接问题的一点总结
- 微信小程序,格式化千分位并保留两位小数
- raft算法_golang-raft算法理论与实践
- JavaEE学习03--Servlet
- python循环抓取图片_【Python系列】第2篇:批量下载图片
- 教师国培计算机计划,教师国培计划大全
- nginx源码包安装
- windows局域网的一个经典的入侵方法
- iOS 加粗字体方法 (不改变字体字号只加粗文字)
- 三位分节制顺口溜_小学数学顺口溜
- 【2022小米秋招(2023校招)】软件开发方向 笔试题1——链表反转
- [数据结构与算法]动态规划:扔鸡蛋问题
- 磁盘管理器/磁盘管理工具给电脑硬盘分区
热门文章
- html打折代码,HTML打折计算价格实现原理与脚本代码
- oracle dd if=/dev/zero of=/dev,【转】dd if=/dev/zero of=的含义是什么?Linux 下的dd命令使用详解...
- matlab欧拉法程序,欧拉法matlab程序.doc
- java .net des_DES加密解密 JAVA与.NET互通程序代码
- java 多线程 notify_Java多线程8:wait()和notify()/notifyAll()
- JDK1.8中String类的intern()方法学习
- ElasticSearch fuzzy模糊查询(英文检索)
- ORACLE日期时间函数大全(一)
- 金三银四!你想好转行产品经理了吗?
- 2021社区居家养老现状与未来趋势报告