浏览 8420 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-09-03
使用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 .
问题解决,记录备忘!
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-09-03
我以前在<s:property/>等一些struts2的标签里面通过ognl调用静态方法是不需要设置的,不知楼主是在哪里调用的
|
|
返回顶楼 | |
发表时间:2008-09-03
kino 写道 网上搜了一下,也未发现相同经历的人。
偶发现很多问题不是搜不到,而是不会搜,你用google搜索: struts2 ognl static method 第一条就是: http://www.nabble.com/Struts2---OGNL-Calling-static-method-td18190358.html 别告诉偶你是用百度的... 技术问题用google,八卦问题用百度 |
|
返回顶楼 | |
发表时间:2008-09-03
hsy537 写道 我以前在<s:property/>等一些struts2的标签里面通过ognl调用静态方法是不需要设置的,不知楼主是在哪里调用的
我是在jsp页面里调用的,在使用struts2.1.2之前的版本是不需要设置的。但在struts2.1.2中是要设置的。 |
|
返回顶楼 | |
发表时间:2008-09-03
Readonly 写道 kino 写道 网上搜了一下,也未发现相同经历的人。
偶发现很多问题不是搜不到,而是不会搜,你用google搜索: struts2 ognl static method 第一条就是: http://www.nabble.com/Struts2---OGNL-Calling-static-method-td18190358.html 别告诉偶你是用百度的... 技术问题用google,八卦问题用百度 不会搜,这一点我承认 ,我是百度和google都使用,优先用google,但关键词的选择有一个过程,我一开始用的是“struts2 ognl"、"struts2 ognl 静态方法“,这种关键词是在baidu或google.cn里搜不出什么的。我最后还是在google.com搜到的,关键词和你用的简直一样:"struts2.1.2 ognl static method",我把版本号写具体了,因为目前只有这个版本有这个问题。 ps:搜索是门学问,加强学习,特别是关键词的选择!技术问题,最好去google.com用英文关键词搜! |
|
返回顶楼 | |
发表时间:2008-12-04
哈哈,谢谢LZ,我用“struts2 ognl 静态方法”搜到你了
|
|
返回顶楼 | |
发表时间:2009-04-11
我也遇到这样的问题,用你的方法解决,谢谢
|
|
返回顶楼 | |