Tomcat 7 javax.el.ELException

9/6/2015来源:Java教程人气:2271

Tomcat 7 javax.el.ELException

今天部署SSH项目的时候发现一个非常奇怪的问题,项目在tomcat6.0上无任何问题,但把项目部署到服务器的tomcat7上的时候出现了javax.el.ELException 。起初还以为是jar包没有配置正确、jstl与standard的版本问题或tomcat6.0 web.xml没有配置正确,可是各种解决方法尝试后依然不成功。后来发现错误只存在于嵌套的cforeach循环中。在搜索资料对比tomcat6.0与tomcat7.0的区别和查询一些文章之后,发现:tomcat 7对EL表达式的语法要求比较严格,例如"${owner.new}"因包含关键字new就会导致解析出错。而我正好在嵌套的foreach循环中使用了new关键字。。。。怎么解决呢?有三种,如下:第一种:严格遵守java规范,修改对象的属性名称,要求不包含java关键字;第二种:修改EL表达式,例如"${owner.new}"可以修改为"${owner['new']}";第三种:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.PRoperties文件,添加org.apache.el.parser.SKip_IDENTIFIER_CHECK=true选项。原文出自:http://www.myexception.cn/h/810255.html参考文档:http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html#Expression_Language