- 浏览: 1325510 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
OGNL表达式:
1. 不要忽略了用于界定整个常量字符串的单引号。
<s:property value=” ’You said,\”Hello\” ’ ”/>
2.操作符:
逗号操作符: , 例如: name,#manager.name 显示的是#manager.name
花括号操作符:{} 例如:{“a”,”b”} 带2个元素的列表
In和not in操作符:name in {“a”,”b”}
3.调用静态方法:
@class@method(args)
例如: @@max(5,3) 同@Math@max(5,3)
4.Javabean的索引属性:
索引属性就是获取和设置数组时使用的属性。getInterest(2),如果设值的情况下,调用setInterest(2,value)方法。
5.创建数组:
new int[]{1,2,3} new int[5]
获取数组的长度:array.length
6.创建Map:
#{“key1”:”value1”, “key2”:”value2”, “key3”:”value3”, “key4”:”value4”}
Map.key1
集合的伪属性:
例如size(),isEmpty() 并不符合javabean对于属性访问器方法的命名要求(即setXxxx() 和getXxxx()),因此不能象访问javabean属性一样来调用这些方法。
集合类型 |
伪属性 |
OGNL表达式 |
Java代码 |
List,Set,Map |
Size,isEmpty |
List.size,set.isEmpty |
List.size(),set.isEmpty() |
List |
iterator |
List.iterator |
List.iterator() |
Map |
Keys,values |
Map.keys,map.values |
Map.keySet(),may.values() |
Set |
Iterator |
Set.iterator |
Set.iterator() |
Iterator |
Next,hasnext |
Iter.next,iter.hasNext |
Iter.next(),iter.hasNext() |
Enumeration |
Next,hasNext,nextElement hasMoreElements |
Enum.next,enum.hasNext |
Enum.nextElement() Enum.hasMoreElements() |
7.投影(projection):
在一个集合中对每一个元素调用相同的方法,或者抽取相同的属性,并将结果保存为一个新的集合。这称之为“投影”。
#employees.{name} 将返回所有雇员名字的列表。 在投影期间,使用#this变量来引用迭代中的当前元素. Objects.{#this instanceof String? #this:#this.toString()} 产生一个新的字符串列表 8.选择(selection): 使用表达式从集合中选择某些元素,并将结果保存到新的集合中,这称之为“选择”。 #employees.{?#this.salary>3000} 返回雇员薪水大于3000的所有雇员列表。 将选择语法中的“?”换成“^”,可以从集合中只选择第一个匹配的元素,并将其作为一个列表返回,如果没有匹配成功,返回一个空列表。 #employees.{^#this.salary>3000} 将选择语法中的”?”换成”$”,可以从集合中选择最后一个匹配的元素,并将其作为一个列表返回。 #employees.{$#this.salary>3000} 9.lambda表达式: Lambda表达式,可以写一个参数,定义lambda表达式的语法:[…]。这个参数通过#this来引用. 声明一个使用递归来计算阶乘的函数,然后调用它: #face=: [#this<=1?1:#this*face(#this-1)] , #face(30) 10.OGNL的类型转换: 例如:要将对象转换为Boolean类型: 如果对象是Number,非0为true, 如果Character类型,字符值非0为true, 如果是一般对象,只要这个对象不为null,为true. 11.值栈(valueStack): OGNL上下文中的根对象可以直接访问,不需要使用任何特殊的“标记”,而引用上下文中的其他对象则需要使用”#”来标记。由于值栈是上下文中的根对象,因此可以直接访问。 Context map:(根对象) Application Session Value stack Request Parameters Attr(依次搜索page,request.session和application范围) Top关键字: Top,用于获取栈顶的对象。 12.Struts2中的命名对象: 这些命名对象没有保存在值栈中,而是保存在 ActionContext中,因此访问这些对象需要使
用”#”标记。 #parameters.id 相当于getParameter()方法 #request.user 相当于getAttribute()方法 #session.user 相当于getAttribute()方法 #application.user 相当于getAttribute()方法 #attr.user 13.与jsp2.1的冲突: #字符已经被jsp内置的表达式语言EL所使用。 禁止jsp El的使用: Web.xml文件中添加: <jsp-config> <jsp-property-group> <url-pattern>*.jsp</url-pattern> <el-ignored>true</el-ignored> </jsp-property-group> </jsp-config>
发表评论
-
struts2 对异常的处理
2015-12-11 19:57 742struts2 对异常的处理 使用自定义类处理异常 ... -
struts/spring/mybatis的整合
2015-10-31 14:19 1078struts/spring/mybatis的整合 1 ... -
struts2 异常处理
2015-06-30 16:10 400异常处理后,能够提供友好的用户界面,而不是一些错误的 ... -
struts2+sring4+mybatis3集成框架(二)
2015-06-30 13:48 7491.jsp自定义标签:分页标签 ... -
struts2 中的OGNL
2015-06-28 08:13 768OGNL是Object-Graph Na ... -
struts2 参数绑定(Jsp获取参数的方法)
2015-06-28 07:31 1650在JSP页面与ACTION之 ... -
struts2 参数绑定(Action接收参数的方法)
2015-06-28 07:26 1243Struts2中Action接收参数的方法主要有以下三 ... -
struts2+sring4+mybatis3集成框架(一)
2015-06-26 08:08 1066struts2.3.24、spring4. ... -
struts2中 # % $ 的区别和用法
2010-09-29 09:15 1116Struts2 中OGNL表达式的用 ... -
struts2 %{#foobar['foo1']} -- %{}的作用
2010-08-31 14:19 1331“%”符号的用途是在标志的属性为字符串类型时,计算OGNL表达 ... -
js util
2010-08-02 16:18 1120http://www.ilovejs.net/archives ... -
Struts2集成spring:
2010-08-02 16:08 1222Struts2集成spring: Spring插件通过覆盖S ... -
Struts2提供了多种方式来访问request,session,application
2010-07-30 10:29 1282Struts2提供了两种方式来访问request,sessio ... -
Struts2 标签
2010-07-29 16:33 1265Struts2通用标签: 数据标签: 1. Pro ... -
strtuts2 Request
2010-07-27 10:21 11211.ServletActionContext.getReque ... -
使用Struts2 的result 传递参数
2010-07-27 09:26 15001.当使用type=“redirectAction” 或typ ... -
Struts2 报错
2010-07-23 10:59 1343http://wenku.baidu.com/view/e0f ... -
FreeMarker
2010-07-22 16:48 2053与jsp在HTML页面中嵌入java脚本代码不同,FreeMa ... -
Struts2类型转换
2010-07-21 15:34 1746Struts2类型转换: 在基于HTTP协议的Web应用 ... -
struts2 应用
2009-07-29 13:15 12081.留言本 http://www.blogjava.n ...
相关推荐
### OGNL表达式的理解和应用 #### 一、OGNL简介与基本概念 OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,用于获取和设置Java对象的属性。它是Struts2框架中的默认表达式语言,同时也被广泛...
### JS:ognl表达式详解 #### 一、OGNL表达式概述 OGNL (Object-Graph Navigation Language) 是一种强大的表达式语言,用于获取和设置 Java 对象的属性。它最初是由 John Rose 和 Luke Blanshard 开发,并被广泛...
1. **基础语法**:OGNL表达式的格式通常为`object.property`或`object[index]`,用于访问对象的属性或数组/集合的元素。例如,`user.name`将获取名为`user`的对象的`name`属性。 2. **动态属性**:OGNL支持动态属性...
因此,开发者应使用Struts2的安全配置选项,如禁用不安全的OGNL表达式,或者使用`@SkipValidation`注解来限制某些Action方法的OGNL表达式执行。 总结来说,Struts2中的OGNL表达式是连接模型和视图的关键工具,它...
这篇深入学习的文章主要探讨了OGNL表达式的原理和使用。 首先,我们来理解一下OGNL是什么。OGNL是一种强大的表达式语言,允许开发者通过简单的字符串表达式来访问和修改对象图。在Struts2中,OGNL用于在Action和...
struts2 中 OGNL表达式的使用struts2 中 OGNL表达式的使用
Struts 2默认的表达式语言是OGNL,原因是它相对其它表达式语言具有下面几大优势: 1、 支持对象方法调用,如xxx.doSomeSpecial(); 2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@...
1. **表达式语法**:OGNL表达式通常由对象引用、属性访问、方法调用和运算符组成。例如,`user.name`表示访问用户对象的name属性,而`list[0].title`则表示访问列表的第一个元素的title属性。 2. **上下文(Context...
本篇文章将详细探讨Struts2中的OGNL表达式语言以及标签库。 **OGNL(对象图导航语言)** OGNL是一种强大的表达式语言,它允许开发者通过简洁的语法来访问和操作对象的属性。在Struts2框架中,OGNL扮演着至关重要的...
在本案例中,我们将深入探讨OGNL表达式的用法及其在Struts2中的应用。 首先,OGNL是一种灵活的表达式语言,允许开发者访问和操作对象图。它的核心特性包括属性访问、方法调用、集合操作、类型转换等。例如,`user....
Struts2 OGNL表达式是Java Web开发中一个重要的概念,它是一种强大的对象图形导航语言(Object-Graph Navigation Language)。在Struts2框架中,OGNL被广泛用于视图层,作为数据绑定的主要手段,使得开发者能够方便...
在本资源“OGNL表达式2讲”中,我们将深入探讨OGNL的使用,特别是针对各种常用的标签和实际应用案例。这个压缩包包含一个名为“OGNL”的文件,可能是一个文档或代码示例,用于辅助理解讲解内容。 1. **OGNL基础** ...
“$”符号在Struts2中主要用作OGNL表达式的起始标记,在模板文件(如JSP页面)中,它用于指示Struts2框架应该解析为OGNL表达式。 1. **模板文件中的应用**: - 示例:`reg.ageRange = $ {min} 到 $ {max}` - 解释...
NULL 博文链接:https://huguifuture.iteye.com/blog/761843
Struts2 OGNL表达式是Java开发中一个重要的知识点,尤其在Web应用程序设计中扮演着核心角色。OGNL(Object-Graph Navigation Language)是一种强大的表达式语言,它被Struts2框架广泛用于视图层与模型层之间的数据...
这个“struts2-OGNL表达式测试”可能是一个测试项目或代码示例,旨在演示如何在Struts2应用中使用OGNL表达式。 OGNL是Struts2的核心组件之一,它允许开发者通过简单的字符串表达式来获取或设置对象的属性。这使得视...
下面我们将深入探讨如何使用OGNL表达式及其在示例代码中的应用。 首先,让我们看看提供的示例代码片段。这段代码是一个基于JSP的Struts2应用,展示了如何使用OGNL表达式来访问不同范围内的属性(request、session、...
struts2 OGNL表达式使用 OGNL(Object-Graph Navigation Language)是对象图导航语言,允许开发者在Struts2应用程序中访问和操作对象及其属性。下面是OGNL表达式的使用方法: 访问基本属性 1. 访问值栈中action的...
本文将深入探讨Struts2中的OGNL表达式,ActionContext以及valuesStack。 首先,OGNL表达式是Struts2中不可或缺的一部分,它允许开发者以一种声明式的方式访问和修改对象的属性。比如,`myBean.getMyProperty()`这样...