OGNL is the
Object Graph Navigation Language
1.
struts2利用内建的OGNL表达式支持,大大加强了Struts2的数据访问功能,
XWork在原有的OGNL基础上,增加了对ValueStack的支持。
2.OGNL表达式可以直接生成一个集合(List ,Map)
2.1
直接生成List集合的语法为: {e1, e2, e3}
2.2
直接生成Map的语法为 #{key1:value1,
key2:value2,....}
2.3
对于集合,OGNL提供了两个元素符: in , not in
in判定某个元素是否在指定的集合中, not in 判定某个元素是否不在指定的计划中
<s:if test="'foo' in {'foo','bar'}">
包含
</s:if>
<s:else>
不包含
</s:else>
访问值栈中元素: name
=
<s:property value="username" />
,
password=
<s:property value="pwd" />
<br
/>
访问值栈中对象的属性:
<s:property value="userInfo.name" />,
<s:property value="userInfo['name']" />,
<s:property value="userInfo[\"age\"]"/>
<br
/>
OGNL is the Object
Graph Navigation Language
<br
/>
<s:property value="userInfo.dogs.size()"/><br/>
访问值栈中对象的方法:
<s:property value="userInfo.getName()" />
<br
/>
访问值栈中action的方法:直接写Action的方法名
<s:property value="sayHello()" />
<br
/>
首先配置:
<constant name="struts.ognl.allowStaticMethodAccess" value="true"></constant>
<li>
访问静态方法:struts.ognl.allowStaticMethodAccess设为"true" <br/>
<s:property value="@com.pk.util.TimeHelper@getTime()" />
</li>
<li>
访问静态属性:
<s:property value="@com.pk.util.Constants@TITLE" />
</li>
<li>
访问Math类的静态方法:
<s:property value="@@random()" />
</li>
访问List:
<s:property value="userList" />
<br />
访问List中某个元素:
<s:property value="userList[2]" />
<br />
访问List中元素某个属性的集合:
<s:property value="userList.{age}" />
<br />
访问List中某个元素的属性:
<s:property value="userList[0].age" />
<br/>
List的大小:
<s:property value="userList.size()" /> -- <s:property
value="userList.size"
/>
<hr />
访问Set:
<s:property value="userSet" />
<br />
无法访问Set中某个元素:
<s:property value="userSet[1]" />
<br />
Set的大小:
<s:property value="userSet.size()" /> -- <s:property
value="userSet.size"
/>
<hr />
访问Map:
<s:property value="userMap" />
<br />
访问Map中某个元素:
<s:property value="userMap.obj1" />
---
<s:property value="userMap['obj1']" />
---
<s:property value="userMap[\"obj1\"]"/>
<br />
访问Map中所有的key:
<s:property value="userMap.keys" />
<br />
访问Map中所有的value:
<s:property value="userMap.values" />
<br />
Map的大小:
<s:property value="userMap.size()" />
---
<s:property value="userMap.size" />
访问ActionContext中的对象
<s:property value="#request.requestStr" />
<br />
访问ActionContext中的对象的方法
<s:property value="#session.userInfo.name" />
<hr/>
<s:select label="label" name="name" list="{'name1','name2','name3'}"
value="'name2'" /><br />
<s:select label="label" name="name"
list="#{'foo':'foovalue', 'bar':'barvalue'}" value="'bar'"/>
相关推荐
这个压缩包包含了Struts2中的ONGL包源码,对于理解Struts2的工作原理和深入学习OGNL的使用非常有帮助。 OGNL是Object-Graph Navigation Language的缩写,它的主要功能是在对象图中导航并执行操作。在Struts2中,...
Java Struts2 OGNL(Object-Graph Navigation Language)标签是用于在JSP页面中动态地访问和操作Java对象的强大工具。以下是对这些知识点的详细解释: 1. **对象树的访问**: OGNL允许开发者通过点号(`.`)来遍历...
根据提供的文件信息,我们可以归纳出以下关于Struts2中OGNL(Object-Graph Navigation Language)的知识点: ### 1. 引言与简介 OGNL 是一种强大的表达式语言,它允许开发人员通过简洁的语法来导航 Java 对象。...
### Struts2中OGNL表达式的使用与具体实例解析 #### 一、OGNL概述 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取或设置一个对象图中的属性值。它广泛应用于Struts2框架中,用于简化...
很好的介绍ONGL的相关知识,一看就明白,对想学习struts2或ONGL的人来说是必需的
本工程"ongl.rar"显然是一个使用Struts2框架进行开发的项目压缩包,包含了必要的源代码和配置文件。以下是关于Struts2开发的一些关键知识点: 1. **Struts2框架核心组件**: - **Action类**:是业务逻辑的载体,...
### Struts2中的OGNL表达式相关简介 #### OGNL概述 OGNL(Object-Graph Navigation Language,对象图导航语言)是Struts 2框架的默认表达式语言,它极大地增强了Struts 2的数据访问能力和代码简洁性。OGNL不仅能够...
struts2验证+拦截器+国际化+下载excle文档+struts2二级联动+ongl表达试+ssh集成\部分代码, 项目下载、 部分代码 请看: http://blog.csdn.net/liangrui1988/article/details/9778787
- **Struts 标签**: 提供了一组标签来简化 Struts 应用程序的开发过程,尤其是在与 Struts2 框架结合使用时更为强大。 这些技术之间可以相互配合使用,以达到更好的效果。例如,在 JSP 页面中,可以使用 JSTL 来...
本篇文章将深入探讨ongl的源代码,分析其核心概念、设计原理以及与Struts2.0框架的整合方式。 **1. oegl的基本概念** ongl的核心是它的表达式语法,它允许开发者用简洁的语句来创建和操作界面元素。例如,`${...
输出Hello World 使用到struts2标签和jstl表达式 2、 URL:http://localhost:8080/struts100515 输入用户名XXX ------> 提交 ,显示 你好 XXX 使用ONGL表达式 3、 URL:...
Struts2是一个强大的Java EE应用程序框架,主要用于构建Web应用程序,特别是MVC(Model-View-Controller)架构的应用。它的核心是Action,通过Action类来处理用户的请求并返回响应。本详解文档将涵盖从Struts2的基本...
2. **JSP标签库**:Struts提供了一系列的JSP标签,如`s:textfield`、`s:textarea`等,这些标签内部使用ONGL表达式处理数据。 3. **国际化**:在资源文件中定义国际化字符串,ONGL表达式可以引用这些字符串,实现...
ONGL在许多Java框架中被广泛应用,例如Struts 2、Spring等,极大地提高了开发效率和代码的可读性。 **ONGL的主要特点** 1. **动态表达式**:ONGL允许在运行时构建和执行表达式,这意味着开发者可以在不提前知道...
Java的Struts框架是SSH(Spring、Struts、Hibernate)三大Web开发框架之一,而ONGNL(Object-Graph Navigation Language)则是Struts2框架中核心的表达式语言,用于数据绑定和表达式求值。本篇文章将深入解析如何在...
**ONGL(Object-Graph Navigation Language)**是一种强大的表达式语言,常用于Struts2框架中,用于数据绑定和表达式求值。本篇文档将详细介绍ONGL在访问上下文、集合操作以及构造Map等方面的使用方法,以及如何解决...
它在Web开发领域,特别是在Struts2框架中,被广泛用来简化视图层的逻辑,允许开发者通过简洁的表达式来访问和操作对象的属性。** ### OGNL的简介 ONGL全称为Object-Graph Navigation Language,是由OpenSymphony...
1、SHH整合 详细清晰的标准配置,主流的应用配置,struts2.2+spring2.5+hibernate3.0 2、结合MYSQL轻量级... 使用主流的JSP标签JSTL,STRUTS2 标签 ongl数据显示 是一个集成好多主流技术的两个显示数据与登陆的DEMO
- **WebWork/Struts2**:ONGL是这两款MVC框架的默认表达式语言,用于处理动作和视图的绑定。 - **独立使用**:ONGL也可单独作为工具库,用于在任何Java程序中执行动态表达式。 通过研究jkuhnert-ognl-1483b9a的源...
3. OGNL在Web开发中的应用:在Struts2框架中,ONGL作为默认的表达式语言,用于视图层和模型层的数据绑定。开发者可以通过OGNL表达式在JSP页面上直接访问模型数据,实现动态渲染。 4. 使用WinCVS下载ONGL源码:...