“#”主要有三种用途:
- 访问OGNL上下文和Action上下文,#相当于ActionContext.getContext();下表有几个ActionContext中有用的属性:
名称 |
作用 |
例子 |
parameters |
包含当前HTTP请求参数的Map |
#parameters.id[0]作用相当于request.getParameter("id") |
request |
包含当前HttpServletRequest的属性(attribute)的Map |
#request.userName相当于request.getAttribute("userName") |
session |
包含当前HttpSession的属性(attribute)的Map |
#session.userName相当于session.getAttribute("userName") |
application |
包含当前应用的ServletContext的属性(attribute)的Map |
#application.userName相当于application.getAttribute("userName") |
attr |
用于按request > session > application顺序访问其属性(attribute) |
#attr.userName相当于按顺序在以上三个范围(scope)内读取userName属性,直到找到为止 |
- 用于过滤和投影(projecting)集合,如books.{?#this.price<100}
;
- 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}
。
“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。
“$”有两个主要的用途
- 用于在国际化资源文件中,引用OGNL表达式,
- 在Struts 2配置文件中,引用OGNL表达式,
原文:http://www.blogjava.net/max/archive/2007/04/28/114417.html
分享到:
相关推荐
### OGNL中的#、%和$符号用法说明 #### 概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它在许多Java应用框架中得到了广泛应用,尤其是在Struts2中作为...
下面将详细介绍这三个符号的用法。 1. `#`(哈希符号) `#`在OGNL中代表“上下文引用”或“值栈引用”。在Struts2中,请求处理时会创建一个值栈,它包含了Action对象和其他相关数据。当我们使用`#`符号时,我们...
**OGNL**(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置Java对象图中的属性。在Struts2框架中,OGNL表达式被广泛应用于处理请求数据、展示数据以及进行逻辑判断等场景。它极大地简化了...
根据提供的文件信息,我们可以深入探讨OGNL(Object-Graph Navigation Language)表达式中涉及的关键符号:#、% 和 $ 的具体用法与应用场景。 ### 一、符号“#”的应用 在OGNL表达式中,“#”这个符号主要用于访问...
本文将深入探讨OGNL中`#`,`%`,`$`这三个特殊符号的用法。 首先,`#`符号在OGNL中的主要作用是访问Stack Context中的值,以及创建和访问特定的命名对象。例如,`#parameters`对象可以用来获取HTTP请求参数,`#...
在给定的文档中,我们关注的是`#.%.$`这三种符号在OGNL中的用法。以下是它们的具体解释: 1. `#`:此符号在OGNL中代表Action Context。在Struts2中,Action Context包含了请求、会话、应用范围内的属性,以及Value ...
### `% # $`的区别及用法 在Struts2框架中,`%`, `#`, `$` 这三...通过以上分析,我们可以看出 `%`, `#`, `$` 这三个符号在Struts2中的应用场景各有不同,合理选择和使用这些符号可以帮助开发者更高效地完成开发任务。
本文将详细介绍Struts2.0标签库中 `$`, `#`, `%` 的使用方法及其区别。 #### 二、Struts2.0 标签概述 ##### 1. 通用标签 - **Property** - 用于展示数据栈中的数据。 - 支持默认值设置。 - 可以控制HTML转义。...
“#”符号有三种用途: 1. 访问非根对象(Struts 中值栈为根对象),例如:#parameters.id[0] 相当于 request.getParameter("id")。 2. 用于过滤和投影(projecting)集合,例如:books.{?#this.price。 3. 构造 ...
本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia包,若需要可以联系留言发至邮箱),若测试不好可以联系本人提供指导. ...主要是#、%和$这三个符号的使用;
在Struts2中使用OGNL表达式主要涉及以下几种符号:“#”、“%”和“$”。 ##### 1. “#”符号的使用 - **访问Struts2上下文**: - `#`可用于访问当前的`ActionContext`,如`#ActionContext.getContext()`。 - ...
在使用过程中,需要注意#、%和$这三个符号的正确使用: - **#**:通常用于表示OGNL表达式,在Struts2中作为OGNL表达式的开头标记。 - **%**:用于指定JSP页面的编码格式,如`<%@ page language="java" contentType=...
在STRUTS2的标签中,`#`,`$`, `%`这三种特殊符号扮演着重要的角色,尤其是在处理OGNL表达式时。下面将详细解释这三个符号的用途。 1. `#` 符号: - **访问非根对象属性**:在STRUTS2中,ActionContext是默认的根...
OGNL,全称Object-Graph Navigation Language,是一种强大的表达式语言,主要用来获取和设置Java对象的属性。它的设计初衷是解决UI组件和控制器之间的数据绑定问题,使得视图和控制器之间的交互更为简便。随着时间的...
OGNL,全称为Object-Graph Navigation Language,是一种强大的开源表达式语言,主要用于便捷地操作对象的属性和方法。在Struts2框架中,OGNL作为默认的表达式语言发挥着核心作用,允许开发者以简洁的方式访问和修改...
5. `@`符号在OGNL中的使用:在OGNL表达式中,`@`符号用来引用对象。例如,`@myObject@myProperty`表示访问`myObject`的`myProperty`属性。 6. OGNL表达式支持的方法调用和运算符:OGNL不仅可以访问属性,还可以直接...
在使用 OGNL 时,经常遇到的问题是 #、% 和 $ 这三个符号的使用。例如:<s:property value="xx" /> 等。 此外,在使用 Struts 2 时,需要注意乱码问题,解决方法是将编码方式设为“utf-8”,并在 web.xml 中配置 ...
OGNL,全称为Object-Graph Navigation Language,是一种强大的表达式语言,主要被用于获取和设置Java对象的属性。它在Java开发中广泛应用于Spring框架、Struts2等,提供了简洁而灵活的方式来访问和操作对象的属性。...
**OGNL(Object-Graph Navigation Language)**是一种强大的表达式语言,主要用于获取和设置Java对象的属性。在Java开发中,特别是在Spring MVC框架中,OGNL被广泛用于视图层的表达式解析,使得我们可以方便地访问和...