“#”主要有三种用途:
访问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表达式
分享到:
相关推荐
综上所述,`#`、`%`和`$`这三个符号在OGNL表达式中扮演着不同的角色,分别用于访问根对象属性、计算字符串类型的表达式值以及引用OGNL表达式。熟练掌握它们的用法可以帮助开发者更高效地利用OGNL表达式进行数据处理...
下面将详细介绍这三个符号的用法。 1. `#`(哈希符号) `#`在OGNL中代表“上下文引用”或“值栈引用”。在Struts2中,请求处理时会创建一个值栈,它包含了Action对象和其他相关数据。当我们使用`#`符号时,我们...
综上所述,“#”、“%”和“$”这三个符号在OGNL表达式中的使用各有侧重。“#”主要用于访问不同作用域中的变量;“%”则是在XML配置文件中使用OGNL表达式的一种特殊语法;而“$”符号则主要用于模板文件中OGNL...
#### 三、OGNL表达式的其他优点 - **代码简洁性**: OGNL表达式的使用避免了大量的`request.getAttribute()`和`myBean.getMyProperty()`之类的语句,使得代码更加简洁易懂。 - **支持运算符**: OGNL支持各种运算符...
#### 三、$ # % 的区别 ##### 1. $ 用于I18N和Struts配置文件 - **用途**:主要用于国际化资源文件和Struts配置文件中的属性引用。 - **示例**: ```xml ``` 其中,`<s:text>` 标签中的`name`属性使用`$`来...
在Struts2框架中,`%`, `#`, `$` 这三个符号有着不同的用途与含义。正确理解它们之间的差异有助于更好地使用Struts2进行开发工作。 #### 1. `%` 符号 在Struts2中,`%` 主要用于表达式语言(EL)中的特殊用途,...
本文将深入探讨OGNL中`#`,`%`,`$`这三个特殊符号的用法。 首先,`#`符号在OGNL中的主要作用是访问Stack Context中的值,以及创建和访问特定的命名对象。例如,`#parameters`对象可以用来获取HTTP请求参数,`#...
在给定的文档中,我们关注的是`#.%.$`这三种符号在OGNL中的用法。以下是它们的具体解释: 1. `#`:此符号在OGNL中代表Action Context。在Struts2中,Action Context包含了请求、会话、应用范围内的属性,以及Value ...
OGNL 符号的使用 OGNL(Object-Graph Navigation Language)是一...OGNL 表达式在 Struts2 中的使用非常广泛,开发者需要充分了解“%”、“#”、“$”这三个符号的使用规则,以便更好地使用 OGNL 表达式提高开发效率。
本案例提供ognl使用详解,测试通过,只需解压放入自己WEB项目中,执行struts_ognl包内java文件即可(未提供jia包,若需要可以联系留言发至邮箱),若测试不好可以联系本人提供指导. ...主要是#、%和$这三个符号的使用;
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性。它在Struts2框架中扮演着极其重要的角色,是Struts2实现动态数据处理的核心技术之一。 OGNL的主要特点包括:...
#### 三、OGNL与Struts2中的上下文环境 OGNL表达式在执行时需要一个上下文环境(Context),这个上下文环境通常是一个Map结构。在Struts2中,具体的上下文环境是`ActionContext`。`ActionContext`中的结构如下: - *...
目录 1. 简介 2. 历史 3. 语法 4. 表达式 常数 属性引用 索引 数组(Array)与列表(List)的索引 JavaBean中的索引属性(Indexed Properties) OGNL特有的对象索引属性(Object Indexed Properties)... OGNL 操作符
#### 三、OGNL的基本语法和特性 OGNL支持多种运算符,包括算术运算符(+ - * /)、逻辑运算符、比较运算符等,这些运算符增强了表达式的灵活性。Struts2默认使用的表达式格式就是OGNL。OGNL还支持调用方法,如`xxx....
在这里,`#`、`%`和`$`三个符号有特定的用途: 1. `#`:在Struts2中,`#`符号通常用于引用Action上下文中的值栈对象。例如,`#request`、`#session`和`#parameters`分别代表请求、会话和参数范围内的对象。此外,`#...
#### 三、OGNL表达式的结构 OGNL 表达式的基本单位被称为“链”。链可以包含属性访问、方法调用等。链之间可以通过点号连接,形成更复杂的表达式。 ##### 示例 假设我们有如下对象结构: ```java public class ...
在使用过程中,需要注意#、%和$这三个符号的正确使用: - **#**:通常用于表示OGNL表达式,在Struts2中作为OGNL表达式的开头标记。 - **%**:用于指定JSP页面的编码格式,如`<%@ page language="java" contentType=...
camel-ognl-1.6.4.jar, camel-ognl-2.8.1.jar, com.springsource.org.ognl-2.6.9.jar, com.springsource.org.ognl-sources-2.6.9.jar, ognl-2.5.1.jar, ognl-2.6.11.jar, ognl-2.6.3.jar, ognl-2.6.5.jar, ognl-...