Struts 2支持以下几种表达式语言:
(1). OGNL(Object-Graph Navigation Language),可以方便地操作对象属性的开源表达式语言;
(2)JSTL(JSP Standard Tag Library),JSP 2.0集成的标准的表达式语言;
(3).Groovy,基于Java平台的动态语言,它具有时下比较流行的动态语言(如Python、Ruby和Smarttalk等)的一些起特性;
(4).Velocity,严格来说不是表达式语言,它是一种基于Java的模板匹配引擎,具说其性能要比JSP好。
1. “#”主要有三种用途:
(1).
访问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属性,直到找到为止
(2). 用于过滤和投影(projecting)集合,如books.{?#this.price<100};
(3). 构造Map,如#{'foo1':'bar1', 'foo2':'bar2'}。
2. “%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达式的值。以下代码:
<h3>%的用途</h3>
<p><s:url value="#foobar['foo1']" /></p>
<p><s:url value="%{#foobar['foo1']}" /></p>
3. $”有两个主要的用途
(1). 用于在国际化资源文件中,引用OGNL表达式。
(2). 在Struts 2配置文件中,引用OGNL表达式,如 <action name="AddPhoto"
class="addPhoto">
<action>
<interceptor-ref name="fileUploadStack"
/>
<result
type="redirect">ListPhotos.action?albumId=${albumId}</result>
</action>
分享到:
相关推荐
Struts2是一个流行的Java web框架,它提供了一种声明式编程模型来简化MVC(模型-视图-控制器)架构的实现。在Struts2中,我们经常使用一系列的标签来处理视图层的逻辑,比如`s:if`、`s:select`、`s:iterator`等。在...
在Struts2中,`$`, `#`, `%`这三个符号在不同场景下有着特定的含义。这里我们将深入探讨它们在Struts2中的用法,并通过一个具体的实例代码来阐述。 首先,`$`符号在Struts2的表达式语言(OGNL,Object-Graph ...
其中,Struts2标签库(Struts2 Tags Library)是开发者常用的工具之一,它不仅简化了前端页面的开发工作,还提高了应用的性能与可维护性。本文将详细介绍Struts2.0标签库中 `$`, `#`, `%` 的使用方法及其区别。 ###...
struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用
在Struts2框架中,`%`, `#`, `$` 这三个符号有着不同的用途与含义。正确理解它们之间的差异有助于更好地使用Struts2进行开发工作。 #### 1. `%` 符号 在Struts2中,`%` 主要用于表达式语言(EL)中的特殊用途,...
“$”符号在Struts2中主要用作OGNL表达式的起始标记,在模板文件(如JSP页面)中,它用于指示Struts2框架应该解析为OGNL表达式。 1. **模板文件中的应用**: - 示例:`reg.ageRange = $ {min} 到 $ {max}` - 解释...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于数据绑定和表示层的数据交换。这篇博客文章可能详细探讨了如何在Struts2中使用OGNL来传递和操作数据。 OGNL是Struts2的核心...
在Struts2中,OGNL(Object-Graph Navigation Language)是默认表达式语言,用于访问和操作对象的属性。在OGNL表达式中,`#`、`%`和``$`符号扮演着不同的角色,它们是OGNL语法的重要组成部分。下面将详细介绍这三个...
OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它被Struts2框架广泛用于视图层与模型层之间的数据绑定和交互。通过OGNL,开发者可以轻松地访问和操作对象图中的任何属性,实现灵活的数据传递。 ...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于访问和操作对象图。这个“struts2-OGNL表达式测试”可能是一个测试项目或代码示例,旨在演示如何在Struts2应用中使用OGNL表达式...
通过以上介绍,我们可以看出OGNL不仅是一种强大的表达式语言,而且还是Struts2框架中不可或缺的一部分。熟练掌握OGNL不仅可以提高开发效率,还能帮助开发者编写出更加灵活和可维护的代码。因此,在学习Struts2的过程...
首先,OGNL表达式是Struts2中不可或缺的一部分,它允许开发者以一种声明式的方式访问和修改对象的属性。比如,`myBean.getMyProperty()`这样的Java代码可以通过`#myBean.myProperty`的OGNL表达式在模板中实现。OGNL...
### Struts2中OGNL表达式的使用与具体实例解析 #### 一、OGNL概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性值。它广泛应用于Struts2框架中,用于简化...
在Struts2中,OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于在视图层和模型层之间进行数据绑定和表达式计算。本文将深入探讨如何在Struts2中有效地使用OGNL表达式。 首先,OGNL是Struts2的...
Struts2 OGNL(Object-Graph Navigation Language)表达式是一种强大的、动态的数据绑定和脚本语言,广泛应用于Struts2框架中。它允许开发者在视图层与模型层之间灵活地传递数据,增强了MVC架构中的灵活性。本文将...
struts jstl el表达式示例代码 struts jstl el 表达式 源码
Struts2 OGNL表达式是Java Web开发中一个重要的概念,它是一种强大的对象图形导航语言(Object-Graph Navigation Language)。在Struts2框架中,OGNL被广泛用于视图层,作为数据绑定的主要手段,使得开发者能够方便...
ognl-3.0.jar:对象图导航语言(Object Graph Navigation Language),它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,...
Struts2是一个流行的Java web开发框架,其核心特性之一就是使用OGNL(Object-Graph Navigation Language)作为表达式语言,并提供了丰富的标签库来简化视图层的开发。本篇文章将详细探讨Struts2中的OGNL表达式语言...