OGNL 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
OGNL 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
OGNL 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 未知
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 不详
投 递 者 JavaGG
适用人群 未知
收录时间 2009-02-18

软件简介

OGNL 是一种图对象的导航语言,这是一个表达语言获取和设置属性的Java对象。您使用相同的表达都得到和设置Key-Value的属性。
该ognl.Ognl类包含方便评价方法的OGNL表达式。为此,您可以分两个阶段,剖析表达成一个内部表格,然后使用,内部的任何形式设置或获取价值的财产;或你可以在一个阶段,并获得或设置属性使用字符串的形式表达直接。

OGNL开始,以建立社团之间的UI组件和控制器使用属性名称。正如所期望的,协会增长快速而且结构更加复杂,德鲁戴维森建立他所谓KVCL (Key-Value 编码语言)。然后卢克使用ANTLR语言重新实现,并提出了新的名称,它填补了目前的状态。后来卢克再次使用JavaCC重新实现。由德鲁(与精神指导卢克)维护所有的代码。
展开阅读全文

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2016/07/17 16:15

OGNL

OGNL-简介 OGNL 是Object-Graph Navigation Language的缩写,它是一种功能强大的表达式语言(Expression Language,简称为EL),通过它简单一致的表达式语法,可以存取对象的任意属性,调用对象的方法,遍历整个对象的结构图,实现字段类型转化等功 能。它使用相同的表达式去存取对象的属性。   OGNL可以让我们用非常简单的表达式访问对象层,例如,当前环境的根对象为user1,则表达式person.address[0].province可以访问到u...

0
0
发表了博客
2012/07/31 11:28

ognl

浅析值栈 ValueStack对象相当于一个栈,它贯穿整个Action的生命周期,每个Action类的对象实例都会拥有一个ValueStack对象 当Struts2接收到一个*.action请求后,并不是直接调用Action方法,而是先将Action类的相应属性放到ValueStack对象的顶层节点 值栈也位于内存中,它也是和parameters、request、session、application、attr对象放在一起的 值栈属于ONGL Context里面的根对象。也就是说它位于整个内存中最最重要的地方,所以叫...

0
2
发表了博客
2019/04/18 19:56

OGNL详解

A.什么是OGNL?   全称叫ObjectGraphic Navigation Language(对象图导航语言),它是struts2框架里面的第三方语言(即可以再别的地方用,struts2只是拿过来了而已),它可以调用对象中的方法,获取struts2里值栈的数据,具体优点https://baike.baidu.com/item/OGNL/10365326?fr=aladdin B.OGNL的三要素   表达式:OGNL表达式是功能强大的表达式语言,何解?在ognl中想要执行取值,赋值,调用方法等等操作,你都需要用表达式...

0
0
发表了博客
2014/04/15 13:42

ActionContext和OGNL

使用struts2时,我们一般使用ognl表达式将表单字段绑定到对象中的具体属性。已知对象一般被放在一个叫做valuestack的对象上,并且ognl表达式指向这个栈上的属性。实际上,ognl表达式可以根据任何一系列对象求值,而ValueStack只是这些对象中的一个,即默认的那个。 这一系列的可以让ognl表达式取值的对象,叫做ActionContext,struts2幕后一个非常重要的角色。它包含有默认的ValueStack对象,paramters对象,application对象,s...

0
0
发表了博客
2013/07/09 20:08

【学习笔记21】OGNL

一、OGNL表达式语言 OGNL是Object Graphic Navigation Language(对象图导航语言)的缩写,它是一个开源项目。 Struts 2框架使用OGNL作为默认的表达式语言。 相对EL表达式,它提供了平时我们需要的一些功能,如: ·支持对象方法调用,如xxx.sayHello(); ·支持类静态方法调用和值访问,表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar')或@cn.itcast.Constant@APP_N...

0
5
发表了博客
2013/11/19 10:52

OGNL的使用方法

总结OGNL的使用方法: 访问属性 名字属性获取:<s:property value="user.username"/><br> 地址属性获取:<s:property value="user.address.addr"/><br> 访问方法 调用值栈中对象的普通方法:<s:property value="user.get()"/><br> 访问静态属性和方法 调用Action中的静态方法:<s:property value="@struts.action.LoginAction@get()"/> 调用JDK中的类的静态方法:<s:property value="@java.lang.Math@floor(44.56)"/><br> 调用JDK...

0
9
发表了博客
2012/07/20 07:09

Struts2.2 OGNL

OGNL ,作为Struts2 一大亮点,感觉也是Struts2 中相对最难理解的一部分了。所以这里认真的总结学习一下。 值栈分析: MVC 请求处理流程中,牵涉的数据种类比较多,框架使用ValueStack 数据结构对这些数据结构进行有机的整合,便于统一管理。充分认识ValueStack 数据结构可以便于框架使用者轻松自如获取所需的数据。 ValueStack 由ValueStack Contents 和Stack Context 两部分构成 每个请求都会生成一个对应的Action 实例,每一...

0
0
发表了博客
2015/06/06 15:30

OGNL用法

一、什么是OGNL,有什么特点?    OGNL(Object-Graph Navigation Language),大概可以理解为:对象图形化导航语言。是一种可以方便地操作对象属性的开源表达式语言。OGNL有如下特点:    特点      1、支持对象方法调用,形式如:objName.methodName();     2、支持类静态的方法调用和值访问,表达式的格式为@[类全名(包括包路)]@[方法名 | 值名],例如:    @java .lang.String@format ('foo %s', 'bar...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
2017/02/23 15:35

Ognl取值报错,请大神看一看

为什么取不到值会报错,谢谢

4
0
发表了问答
2016/04/14 15:23

在struts2中的filter在weblogic中无效

应用上有个漏洞,漏洞如下 在web.xml中添加过滤器 <!--   修复Struts OGNL控制面板泄露漏洞,添加访问过滤,过滤掉问题链接 -->   <filter> <filter-name>ognlFilter</filter-name> <filter-class>OgnlFilter</filter-class> </filter> <filter-mapping> <filter-name>ognlFilter</filter-name> <url-pattern>*/struts/webconsole.html</url-pattern> </filter-mappi...

10
0
发表了问答
2016/01/10 12:14

Struts2 Model驱动中OGNL

Action模型驱动获取参数,JSP输入 <input name="user.name"/> 在结果页面要获取用户名,一种是user模型对象设置到request/session中,再使用ognl获取 如果想直接通过OGNL获取请求页面参数#user.name不行,有解决办法吗?谢谢!

5
0
发表了问答
2013/03/07 11:14

Struts2中jsp的form值如何映射为Action中的List<Map<String,String>>对象?

现在有一个需求:利用Struts2的特性,将页面的from表单中的值直接映射成为List<Map<String,String>>对象 已知可以实现的有List<Object>,Map<String,String>,但是List<Map<String,String>>就是实现不了 写法如下: /**Action中定义的对象**/ private Map<String, String> map; private List<String> list; private List<Map<String, String>> listMap; <!-- jsp页面中的form --> <!-- 这样可以直接映射到map对象中 --> 姓名:<input...

10
0
发表了问答
2015/07/18 17:16

ognl的版本不同,用法有区别吗

struts2的版本很多,ognl的版本也很多,但是ognl的用法有区别吗?

2
0
发表了问答
2011/03/07 22:32

OGNL,这是我见过的最恶心的代码@

所有代码放在一个包里, 一个类写几千行代码@,源代码看起来还像混淆过一样的@..... 为什么s2会选择这么恶心的东西呢?

10
1
发表了问答
2015/02/28 14:35

ognl 大数处理问题

在用ognl表达式求值时发现一个奇怪的问题,当我输入的数字比较大时返回的结果回自动转换成 用科学计算表示。如:999999999.99 ---> 1.0E+10。怎么样让它不自动转换呢? 单元测试程序如下: @Test public void __testOgnlExp() throw OgnlExcption { Object obj = Ognl.parseExpression("999999999.99"); System.out.println("======="+obj.toString()); }...

1
0
发表了问答
2015/01/07 18:46

struts2模型驱动出现诡异的现象user.name设置出问题

最近遇到一个诡异的问题,问题描述: 一个tomcat 发布两个项目 A、B A项目:部分前台页面input使用类似 user.name 、user.password 等保存用户信息。貌似这个和struts2的模型驱动有关联。错误就发生到此处。前台页面input使用单一的name、password等保存用户没有问题。 B项目:使用了AOP进行方法拦截保存日志。采用Spring 配置如下截图: A、B项目在同一tomcat下、两个项目依赖的jar文件集合在%tomcat%\lib文件夹下如下截图。 ...

1
0
发表了问答
2015/01/02 19:34

国际化的key和struts2的ongl冲突,该如何解决

sturts标签中用了一个<s:submit key="come.punch"/>,come.punch是国际化的一个key。提交action时后台报错 WARNING: Error setting expression 'come.punch' with value '[Ljava.lang.String;@a8ece25' ognl.OgnlException: target is null for setProperty(null, "punch", [Ljava.lang.String;@a8ece25) 个人认为应该是key和ognl的冲突,用几个关键词百度了一下没找到办法,想问下大家怎么处理...

4
1
发表了问答
2014/10/27 17:08

oschina上源码模块到哪去了

以前在oschina上可以查看某些框架的源码,现在这个功能没有了吗?肿么查看,求教。

1
0
发表了问答
2013/05/06 16:33

随便问下 现在Web开发 主流的前端展示数据形式是什么? jstl+el?还是struts2的ognl?

如题~

2
0
发表了问答
2013/01/18 21:35

关于struts2从后台获取数据问题

struts2中从后台获取一个链接地址的数据,传到前台,不知道怎么用ognl表达式放入<s:a href=''>xxx<s:a />标签的href位置,求高手解答。

2
0
发表了问答
2012/10/30 10:53

struts2 ognl设置值的问题

struts2 ognl设置值的问题?系统运行一段时间后divisionRule.currency.id 这种表单参数就不能被set到divisionRule对象里了,其它的属性(division.type等)还可以。总结起来就是深导航的参数,不能被正确设置进去。 但是通过req.getParameter("divisionRule.currency.id")是可以获取到参数的。有没有人遇到过这个问题。系统运行一段时间后才会出现,重启系统后这个问题就又消失了。...

3
0
发表了问答
2012/09/07 16:20

ognl 有什么用途 ?

一直使用jstl+el,ognl有什么用途?什么情况下使用这个呢?一直使用struts2,但没有用过ognl!请求解惑!

4
0
发表了问答
2012/08/26 10:48

OGNL 找不到指定的值 但是EL表达式可以找到

哎,这段时间再学struts2.3GA,初学很多地方不明白。这里就先贴上一个,如题。最近在做一个OA办公,为了简单没写工作流,只做权限控制。做到上传下载。有点犯糊涂。。 代码说明:在服务器获得附件信息后使用struts2标签<s:property value="tAffixs==null"/>附件居然是空的。当然这里返回的是true。感觉就不对我调试跟踪后发现服务器确实取到值了,并且请求转发到这里jsp页面, 如果使用EL表达式 ${requestScope.notice.tAffixs==n...

8
0
发表了问答
2010/09/25 11:29

struts2 OGNL token标签的问题

两个问题 一、启动的时候怎么报这样的错 2010-9-25 10:45:28 org.apache.catalina.core.StandardContext filterStart 严重: Exception starting filter struts2 Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar:file:/D:/apache-tomcat-6.0.26/webapps/s2/WEB-INF/lib/struts2-core-2.1.8.1.jar!/struts-default.xml:29:72 二、 用struts2的令牌机制,JSP里面加入 <s:token></s:token> ...

4
0
发表了问答
2011/03/11 10:49

提交Set集合出错

package oshop.entity; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.ManyToMany; import javax.persistence.Table; /** * 产品品牌 * * @author sky * */ @Entity @org.hibernate.annotations.Entity(dynamicUpdate = true) @Table(name = "brand") public class Brand extends Bas...

1
1
发表了问答
2010/11/01 14:40

ibatis3 因为ognl解析慢,导致性能下降

ibatis3的sql语句写在xml里,ibatis3使用了ognl解析器。 1:当sql里有多个<if test="a!= null"></if>时,大概有30个吧,明显感觉速度慢下 例子 update a <set> <if test="a1!= null">a1=#{a1}</if> <if test="a2!= null">a2=#{a2}</if> <if test="a3!= null">a3=#{a3}</if> <if test="a4!= null">a4=#{a4}</if> <if test="a5!= null">a5=#{a5}</if> <if test="a6!= null">a6=#{a6}</if> <if test="a7!= null">a7=#{a7}</if> <i...

2
2
发表了问答
2009/02/18 10:27

英文语言指南PDF

http://www.opensymphony.com/ognl/pdf/LanguageGuide.pdf

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
24 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部