`
cobrano1
  • 浏览: 28594 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Struts2 标签不能使用静态方法的原因

阅读更多
这个问题困扰了我一上午时间终于解决了,在此谢谢kino
http://www.iteye.com/topic/235942 的帖子


使用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标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    struts2.0标签使用源码

    当JSP解析器遇到一个Struts2标签时,会根据TLD找到对应的标签处理类(TagHandler)并实例化,执行其doStartTag()和doEndTag()等方法。例如,`s:property`标签对应的处理类可能是`PropertyTag`。 在`PropertyTag`中...

    struts2标签大全

    在Struts2中,使用了一系列的标签库来增强JSP页面的功能,使得开发者可以更方便地实现业务逻辑与视图的分离,提高代码的可读性和可维护性。本篇文章将详细介绍Struts2中的各种标签及其应用。 1. **s:form标签**:这...

    struts2-tags-API,struts2标签api

    在实际项目中,开发者可以将`struts2-tags-API`文档作为参考,快速查找和理解标签的使用方法。如果遇到问题,可以查看标签的错误信息,或者使用调试工具查看标签的生命周期和执行流程,以便定位和解决问题。 总结,...

    struts2 标签 OGNL

    此外,OGNL还能访问类的静态变量和方法。例如,对于类`net.ilkj.ognl.A`,静态变量`a`和静态方法`findA()`可以通过`@net.ilkj.ognl.A@a`和`@net.ilkj.ognl.A@findA()`来调用。 除了OGNL,Struts2还提供了一个丰富的...

    struts2标签解释

    如果核心和展示标签库不能满足需求,开发者可以通过实现自定义标签库来扩展Struts2的功能。 8. **最佳实践** - 使用Struts2标签可以提高代码的可读性和可维护性,避免过多的JSP脚本。 - 尽量减少在JSP页面中编写...

    在struts2的freemarker模板中扩展struts标签

    众所周知,struts2宣称freemarker模板中不再支持自定义标签,但如果工程UI仅用freemarker模板可以通过扩展struts标签简单实现,不是采用官方不推荐的配置JspSupportServlet实现的!内付详细说明及范例,此方法仅为团队...

    struts2标签中select的三种写法

    在本文中,我们将深入探讨Struts2中`select`标签的三种不同的使用方法,以及如何从Action类动态获取数据填充这些选项。 ### 一、静态定义`select`标签 1. **静态数据**:在简单的场景下,我们可以直接在JSP页面中...

    Struts2 常用标签使用(三十九)

    通过`s:i18n`标签,Struts2可以轻松实现页面的国际化,比如`<s:i18n name="myBundle">`,然后在其中使用`s:text key="label.key"`显示翻译后的文本。 七、标签的异常处理 `s:fielderror`和`s:actionerror`标签用于...

    HTML标签转STRUTS标签

    HTML标签和STRUTS标签是两种在Web开发中常见的元素,它们在构建动态网页时起着关键作用。本文将深入探讨HTML标签与...在实际应用中,理解STRUTS标签的特性和功能,以及如何正确使用转换工具,是成功进行转换的关键。

    Struts2整合Freemarker生成静态页面

    7. **国际化与本地化**:Struts2支持Freemarker的国际化功能,可以创建资源文件(如`message.properties`),并使用`<@s.i18n...>`标签来输出本地化信息。 8. **静态页面生成**:整合Struts2和Freemarker的一个常见...

    Struts2常用的Ajax标签

    通过掌握和灵活运用Struts2的Ajax标签,开发人员能够在不牺牲服务器性能的前提下,显著提升Web应用的实时性和用户体验。无论是简单的数据加载,还是复杂的状态更新,Struts2的Ajax标签都提供了强大的支持,是现代Web...

    Struts2标签库

    Struts2标签库是Struts2框架中的一部分,它提供了丰富的标签来简化JSP页面的编写,使得开发者能够更高效地构建MVC架构的应用程序。这些标签覆盖了各种功能,如表单处理、数据展示、错误处理等。下面将详细讨论一些...

    Struts2 之Struts2标签详解

    例如,你可以直接在标签中指定链接的目标Action,这使得链接不仅指向静态资源,还能直接触发服务器端的业务逻辑。以下是一个简单的例子: ```jsp 登陆 ``` 这个例子中,`<s:a>`标签会生成一个链接,点击后会执行名...

    struts2标签库学习

    Struts2标签库是Struts2框架的重要组成部分,它提供了一组丰富的标签,极大地简化了JSP页面的...理解这些标签的属性规则和OGNL表达式的应用,能帮助开发者更好地利用Struts2框架,构建出高效、可维护的Web应用程序。

    struts2标签集

    此外,源码分析也是掌握Struts2标签集的一种有效方法。通过查看其源代码,我们可以了解标签背后的实现原理,比如标签如何与ActionContext交互,怎样处理用户输入,以及如何进行错误处理等。这有助于我们更好地定制和...

    Java struts2 ongl 标签 jsp页面

    例如,在提供的代码片段中,可以看到`<%@ taglib prefix="s" uri="/struts-tags"%>`引入了Struts2的标签库,这使得在JSP中可以方便地使用OGNL表达式来操作页面上的Java对象。 ```jsp ("sex", Sex.MALE); %> This ...

    struts2常用标签总结

    Struts2是一个流行的Java Web框架,它...Struts2的标签库极大地简化了开发者的任务,使开发者能更加专注于业务逻辑而不是繁琐的视图层编码。通过熟练掌握这些标签,初学者可以更快地适应Struts2框架,提高开发效率。

    struts1标签库运用总结

    使用Struts1的标签库能够极大地提升开发效率,减少代码量,同时增强应用的安全性和可维护性。例如,通过bean标签库,我们可以方便地在JSP页面上操作属性,实现国际化;通过logic标签库,我们可以进行逻辑控制,避免...

    教案第五章struts2的标签库.pdf

    其中 OGNL 是 Struts 2 的默认表达式语言,提供了许多实用的功能,例如支持对象方法调用、类静态的方法调用和值访问、赋值操作和表达式串联等。 OGNL 表达式语言中使用了多种符号,包括 #、% 和 $ 符号。# 符号用于...

Global site tag (gtag.js) - Google Analytics