您的位置:首页 > 运维架构 > Tomcat

tomcat 7中EL表达式报"is not a valid Java identifier"...

2012-07-16 14:01 423 查看
在tomcat 7中默认会检查EL表达式中是否会有java关键字。比如Foo#getClass()#name()中有class关键字,${foo.class.name}这样就是会报错,解决方法是${foo['class'].name},再如Session#isNew() ,要${pageContext.session['new']}这样表达。

参考https://issues.apache.org/bugzilla/show_bug.cgi?id=50147

或者有另种比较暴力的解决方法,就是修改配置文件,不让检查java关键字。在tomcat 6中“org.apache.el.parser.SKIP_IDENTIFIER_CHECK”默认是false的。

解决方法:

$CATALINA_BASE/conf/catalina.properties 增加

org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false

org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true

$CATALINA_BASE/conf/Catalina/localhost/webapp.xml 增加

<Context path="" docBase="/vmind/vmind" useHttpOnly="false" debug="0" reloadable="false">

或修改server.xml的context选项,增加useHttpOnly="false" 即可。

参考:/article/11182837.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐