使用struts, 在jsp页面中,可以通过ognl访问类的静态方法。
表达式的格式为@[类全名(包括包路径)]@[方法名 | 值名],例如:@java.lang.String@format('foo %s', 'bar')
。页面的输出结果就是:foo bar
在目前的项目中,我们使用了struts最新的版本2.1.2,当我在jsp页面中使用ognl访问类的静态方法时,发现不起作用。也没报错信息,找不到原因。网上搜了一下,也未发现相同经历的人。当我把struts的版本降到2.0.11时,发现是可以访问静态方法的,困惑!
最后终于发现了原因,原来是在2.1.2中,如果要通过ognl访问静态方法,必须在struts.properties或者struts.xml中将选项struts.ognl.allowStaticMethodAccess设置为true
.
问题解决,记录备忘!
分享到:
相关推荐
Struts2.1.2_ALLlib是一个集合,包含了Struts2框架在2.1.2版本中的所有核心库和依赖的JAR包。这个压缩包是开发者为了方便快速搭建基于Struts2.1.2的Java Web应用环境而准备的。下面我们将详细探讨Struts2框架及其...
7. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action对象和视图之间传递数据。例如,`${user.name}`可以获取Action对象中user属性的name字段。 接下来,我们关注...
Struts 2.1.2 是一个非常重要的版本,在Java EE开发中被广泛使用,尤其在构建MVC(模型-视图-控制器)架构的应用程序时。Struts 2是Apache软件基金会的一个开源项目,它是Struts 1的升级版,提供更强大的功能和更好...
7. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts 2中用于表达式语言,它用于在Action和视图之间传递数据,以及在拦截器中访问对象属性。 在"struts-2.1.2-lib.zip"中,你将找到以下关键库文件: -...
这些属性可以通过OGNL(Object-Graph Navigation Language)表达式在视图层中访问,使得数据绑定变得简单。 5. **OGNL**: OGNL是一种强大的表达式语言,用于在模型、视图和控制器之间传递数据。它可以用来访问对象...
Struts2.1.2、Spring2.0.8和Hibernate3.3.1是经典的Java企业级开发架构,被称为SSH(Struts2、Spring、Hibernate)框架。这些框架组合在一起,提供了完整的MVC(Model-View-Controller)设计模式支持,以及数据持久...
开发者可以通过OGNL在JSP页面中直接访问Action属性,简化了视图层的开发。 **5. 动态方法调用(Dynamic Method Invocation,DMI)** DMI允许开发者通过Action名称直接调用Action方法,而无需在配置文件中显式指定。...
2. **上下文映射**:ognl使用Map对象作为上下文,可以在表达式中引用和修改其中的变量。 3. **方法调用**:ognl支持动态调用对象的方法,甚至可以处理带参数的方法。 4. **安全增强**:ognl 2.6.11增强了对表达式...
通过对OGNL2.6.11和XWork2.1.2源码的学习,开发者不仅可以掌握这两个框架的基本使用,还能深入了解它们的设计思想和实现方式,这对于提升Java Web开发的专业技能和解决实际问题具有极大的价值。同时,源码分析也有助...
基于事件驱动的MVC框架struts2的all in one版本
在这个资源压缩包中,我们关注的是OGNL(Object-Graph Navigation Language)和XWork,这两个组件是Struts2的核心部分,并且与JDK文档紧密相关。 OGNL是一种强大的表达式语言,用于在对象图中导航和操作数据。在...
这是我找了很久才搞到的东西,用了一个下午搞了visualsvn server,到头来却不能用,还好后来找到了这些资源,所以传上来让大家共享,保证是如题所说的资源。
在"struts2-portlet-2.1.2"这个压缩包中,我们可能找到了一个整合Struts2和portlet2技术的示例项目。这个例子展示了如何在Struts2框架中创建和使用portlet,以实现更灵活和模块化的Web开发。 Struts2框架的核心特性...
- **OGNL(Object-Graph Navigation Language)**: OGNL是Struts2中用于表达式语言,用于在Action对象、ValueStack和视图之间传递数据。 - **Interceptor(拦截器)**: 拦截器是Struts2的一个强大特性,允许在...
struts2与spring整合开发包,自己找到到了,想与大家共享;是不需要资源分的。献给那些需要的人。
6. **OGNL(Object-Graph Navigation Language)**:XWork使用OGNL作为默认表达式语言,用于在值栈中获取和设置对象属性,以及进行复杂的表达式运算。 **XWork 2.1.2 版本特性:** - 提高了性能和稳定性,修复了...
1. **拦截器机制**:Struts2的核心特性之一是其强大的拦截器链,它允许我们在请求处理过程中插入自定义的逻辑,如日志记录、权限验证、性能监控等。 2. **动态方法调用**:Struts2支持动态方法调用,使得可以根据...
1. 兼容性:H5player-2.1.2设计时充分考虑了跨平台兼容性,支持多种浏览器,包括Chrome、Firefox、Safari、Edge以及旧版的IE,确保在不同环境下都能稳定运行。 2. 多媒体支持:此版本的H5player优化了对音频、视频...