`

在struts2.1.2中不能使用ognl访问静态方法的原因

阅读更多
http://hypgr.iteye.com/blog/367982

使用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.1.2_ALLlib是一个集合,包含了Struts2框架在2.1.2版本中的所有核心库和依赖的JAR包。这个压缩包是开发者为了方便快速搭建基于Struts2.1.2的Java Web应用环境而准备的。下面我们将详细探讨Struts2框架及其...

    struts2.1.2_lib

    7. **OGNL(Object-Graph Navigation Language)**:Struts2使用OGNL作为表达式语言,用于在Action对象和视图之间传递数据。例如,`${user.name}`可以获取Action对象中user属性的name字段。 接下来,我们关注...

    struts-2.1.2所有jar包

    Struts 2.1.2 是一个非常重要的版本,在Java EE开发中被广泛使用,尤其在构建MVC(模型-视图-控制器)架构的应用程序时。Struts 2是Apache软件基金会的一个开源项目,它是Struts 1的升级版,提供更强大的功能和更好...

    struts-2.1.2-lib.zip

    7. **OGNL(Object-Graph Navigation Language)**:OGNL是Struts 2中用于表达式语言,它用于在Action和视图之间传递数据,以及在拦截器中访问对象属性。 在"struts-2.1.2-lib.zip"中,你将找到以下关键库文件: -...

    Struts 2 Core 2.1.2 API

    这些属性可以通过OGNL(Object-Graph Navigation Language)表达式在视图层中访问,使得数据绑定变得简单。 5. **OGNL**: OGNL是一种强大的表达式语言,用于在模型、视图和控制器之间传递数据。它可以用来访问对象...

    struts2.1.2+spring2.0.8+hibernate3.3.1架构需要的jar包

    Struts2.1.2、Spring2.0.8和Hibernate3.3.1是经典的Java企业级开发架构,被称为SSH(Struts2、Spring、Hibernate)框架。这些框架组合在一起,提供了完整的MVC(Model-View-Controller)设计模式支持,以及数据持久...

    struts-2.1.2-src.zip

    开发者可以通过OGNL在JSP页面中直接访问Action属性,简化了视图层的开发。 **5. 动态方法调用(Dynamic Method Invocation,DMI)** DMI允许开发者通过Action名称直接调用Action方法,而无需在配置文件中显式指定。...

    xwork-2.1.2 和 ognl 2.6.11 源代码

    2. **上下文映射**:ognl使用Map对象作为上下文,可以在表达式中引用和修改其中的变量。 3. **方法调用**:ognl支持动态调用对象的方法,甚至可以处理带参数的方法。 4. **安全增强**:ognl 2.6.11增强了对表达式...

    ognl2.6.11源码和xwork2.1.2源码

    通过对OGNL2.6.11和XWork2.1.2源码的学习,开发者不仅可以掌握这两个框架的基本使用,还能深入了解它们的设计思想和实现方式,这对于提升Java Web开发的专业技能和解决实际问题具有极大的价值。同时,源码分析也有助...

    struts2.1.2 all

    基于事件驱动的MVC框架struts2的all in one版本

    struts2相关重要资源 ognl,xwork,jdk文档链接

    在这个资源压缩包中,我们关注的是OGNL(Object-Graph Navigation Language)和XWork,这两个组件是Struts2的核心部分,并且与JDK文档紧密相关。 OGNL是一种强大的表达式语言,用于在对象图中导航和操作数据。在...

    struts2.1.6源代码,包括xwork2.1.2和ognl2.6.11的源代码

    这是我找了很久才搞到的东西,用了一个下午搞了visualsvn server,到头来却不能用,还好后来找到了这些资源,所以传上来让大家共享,保证是如题所说的资源。

    struts2-portlet-2.1.2

    在"struts2-portlet-2.1.2"这个压缩包中,我们可能找到了一个整合Struts2和portlet2技术的示例项目。这个例子展示了如何在Struts2框架中创建和使用portlet,以实现更灵活和模块化的Web开发。 Struts2框架的核心特性...

    xwork-2.1.2-sources

    - **OGNL(Object-Graph Navigation Language)**: OGNL是Struts2中用于表达式语言,用于在Action对象、ValueStack和视图之间传递数据。 - **Interceptor(拦截器)**: 拦截器是Struts2的一个强大特性,允许在...

    struts2-spring-plugin-2.1.2.jar

    struts2与spring整合开发包,自己找到到了,想与大家共享;是不需要资源分的。献给那些需要的人。

    xwork-2.1.2.rar_xwork-2.1.2_xwork-core_xwork-core-2.1.2_xwork2.1

    6. **OGNL(Object-Graph Navigation Language)**:XWork使用OGNL作为默认表达式语言,用于在值栈中获取和设置对象属性,以及进行复杂的表达式运算。 **XWork 2.1.2 版本特性:** - 提高了性能和稳定性,修复了...

    Struts2.1 源码+开发包(项目依赖库)

    1. **拦截器机制**:Struts2的核心特性之一是其强大的拦截器链,它允许我们在请求处理过程中插入自定义的逻辑,如日志记录、权限验证、性能监控等。 2. **动态方法调用**:Struts2支持动态方法调用,使得可以根据...

    H5player-2.1.2

    1. 兼容性:H5player-2.1.2设计时充分考虑了跨平台兼容性,支持多种浏览器,包括Chrome、Firefox、Safari、Edge以及旧版的IE,确保在不同环境下都能稳定运行。 2. 多媒体支持:此版本的H5player优化了对音频、视频...

Global site tag (gtag.js) - Google Analytics