struts2 OGNL(Object-Graph Navigation Language) 井号,星号,百分号
- 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();可以访问这几个ActionContext中的属性。
| parameters | #parameters.id[0]作用相当于request.getParameter("id") | 
| request | #request.userName相当于request.getAttribute("userName") | 
| session | #session.userName相当于session.getAttribute("userName") | 
| application | #application.userName相当于application.getAttribute("userName") | 
| attr按request > session > application顺序 | #attr.userName相当于按顺序在以上三个scope内读取属性,直到找到为止 | 
- 用于过滤和投影(projecting)集合,如books.{?#this.price<100}。
- 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'},在select和radio标签中经常用到。
2.“%”的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。 如:
在Action中加入
//省略set/get
private Map<String,String> testmap=new HashMap<String,String>(); 在execute中加入:
//ActionContext中的testmap
testmap.put("mp1", "vsmap1");
testmap.put("mp2", "vsmap2");
testmap.put("mp3", "vsmap3");
testmap.put("mp4", "vsmap5555"); 在结果页面加入: 遍历actionContext中的testmap<p>
<s:iterator value="testmap">
<s:property value="key"/>=<s:property value="value" /><br>
</s:iterator> <h3>-----------------s:property--------------------------%的用途</h3> //property 有没%号都一样。解析为value值
<p>用点号. :<s:property value="testmap.mp1"/></p>
<p>用方括号[] :<s:property value="testmap['mp1']"/></p>
<p>有%号:<s:property value="%{testmap['mp1']}" /></p> <h3>-----------------s:url--------------------------%的用途</h3>
<p>用点号. :<s:url value="testmap.mp1"/></p>
<p>用方括号[] :<s:url value="testmap['mp1']"/></p> //直接显示为testmap['mp1']
<p>有%号:<s:url value="%{testmap['mp1']}" /></p>
结果如下:

3.“$”有两个主要的用途
- 用于在国际化资源文件中,引用OGNL表达式。
- EL表达式 ${sessionScope.user.sex}等于${sessionScope.user["sex"]} 。
如果没有指定scope,那么${username}查找顺序是Page---Request---Session---Application
struts2 OGNL(Object-Graph Navigation Language) 井号,星号,百分号的更多相关文章
- Struts_OGNL(Object Graph Navigation Language) 对象图导航语言
		1.访问值栈中的action的普通属性: 请求: <a href="ognl.action?username=u&password=p">访问属性</a& ... 
- OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言
		OGNL是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(ExpressionLanguage,简称为EL),通过它简单一致的表达式语法,可以存取 ... 
- OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言,使页面更简洁;
		OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言,使页面更简洁: 支持运算符(如+-*/),比普通的标志具有更高的自由度和更强的功能 ... 
- Struts2 OGNL使用详解(转)
		OGNL OGNL ( Object Graph Navigation Language ),对象图导航语言.这是一种强大的表达式语言,通过它可以非常方便的来操作对象属性. 在 Struts2 中,O ... 
- 【Java EE 学习 36】【struts2】【struts2系统验证】【struts2 ognl值栈】【struts2 ongl标签】【struts2 UI标签】【struts2模型驱动和令牌机制】
		一.struts2系统验证 1.基于struts2系统验证的方式实际上就是通过配置xml文件的方式达到验证的目的. 2.实际上系统校验的方法和手工校验的方法在底层的基本实现是相同的.但是使用系统校验的 ... 
- struts2 OGNL表达式
		一.OGNL OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对 ... 
- java:struts框架5(Converter,Validation,Tags(Object-Graph Navigation Language))
		1.Converter: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTY ... 
- Struts2(Ognl)
		OGNL(Object-Graph Navigation Language)全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的方法,能够遍历整 ... 
- struts2 OGNL 表达式
		一.Struts 2支持以下几种表达式语言: OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言:JSTL(JSP Standard ... 
随机推荐
- CMake INSTALL 命令设置exe dll lib的安装位置
			install(TARGETS ${OUT_NAME} RUNTIME DESTINATION ${CMAKE_BINARY_DIR}/bin LIBRARY DESTINATION ${CMAKE_ ... 
- React Native(十四)——Slider
			最近我们rn版的App快要内测了,小伙伴们都在积极的改bug,于是在其中就遇到了关于Slider的部分小知识,特地记录自己用到的部分属性,也许恰好会帮助到用到该组件的你: 属性罗列(https://r ... 
- hadoop关联文件处理
			c001.txt ------------------------------ filetype|commid|commname|addressidcomm|1|罗湖小区1|1comm|2|罗湖小区2 ... 
- Android学习之Spinner
			Android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧.Spinner位于 android.widg ... 
- 《转》python学习(10)-集合
			转自 http://www.cnblogs.com/BeginMan/p/3160565.html 一.目录 1.集合概述 2.关于集合的操作符.关系符号 3.集合的一系列操作(添加.更新.访问.删除 ... 
- excel多个sheet表拆分成独立的excel文件
			一.问题: 公司做一个项目,给的用户上报文是一个包含多个sheet页的excel文件, 但是在实际处理报文数据的时候需要拆分excel文件为多个独立的报文excel文件 二.解决: (1)一个一个的复 ... 
- [转]Linux sendmail 详解
			Internet上最基本的服务,现在应该大部分人都有自己的邮箱吧,用的人多,但理解的人估计没多少,我自己以前也是常常用,但对其原理并不操心.今天就来操心下,进行个小总结 一.邮件服务的基本流程 ... 
- Openstack 在VMware虚拟机ESXI和Workstation下安装需要更改参数
			[vmware vsphere] 要在esxi 5i的系统文件/etc/vmware/config最后添加vhv.allow = “TRUE” 一行.重启 VMware ESXi 后编辑虚拟机选项(需 ... 
- HDU 2102 A计划(BFS/DFS走迷宫)
			A计划 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ... 
- mysql里查看时间
			MariaDB [jumpserver]> select current_time;+--------------+| current_time |+--------------+| 16:22 ... 
