Tomcat7中javax.el.ELException异常信息的处理

 最近在部署公司的一个旧有系统的过程中,系统死活无法正常启动,情况是部分人的机器可以,部分人的机器无法正常显示,系统为几年前开发的web系统。

 错误信息如下:

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. Caused by: javax.el.ELException: The identifier [default] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.  
  2.     at org.apache.el.parser.AstDotSuffix.setImage(AstDotSuffix.java:46)  
  3.     at org.apache.el.parser.ELParser.DotSuffix(ELParser.java:1069)  
  4.     at org.apache.el.parser.ELParser.ValueSuffix(ELParser.java:1035)  
  5.     at org.apache.el.parser.ELParser.Value(ELParser.java:980)  
  6.     at org.apache.el.parser.ELParser.Unary(ELParser.java:950)  
  7.     at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)  
  8.     at org.apache.el.parser.ELParser.Math(ELParser.java:634)  
  9.     at org.apache.el.parser.ELParser.Compare(ELParser.java:446)  
  10.     at org.apache.el.parser.ELParser.Equality(ELParser.java:340)  
  11.     at org.apache.el.parser.ELParser.And(ELParser.java:284)  
  12.     at org.apache.el.parser.ELParser.Or(ELParser.java:228)  
  13.     at org.apache.el.parser.ELParser.Choice(ELParser.java:185)  
  14.     at org.apache.el.parser.ELParser.Expression(ELParser.java:177)  
  15.     at org.apache.el.parser.ELParser.Function(ELParser.java:1263)  
  16.     at org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1189)  
  17.     at org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1019)  
  18.     at org.apache.el.parser.ELParser.Value(ELParser.java:968)  
  19.     at org.apache.el.parser.ELParser.Unary(ELParser.java:950)  
  20.     at org.apache.el.parser.ELParser.Multiplication(ELParser.java:714)  
  21.     at org.apache.el.parser.ELParser.Math(ELParser.java:634)  
  22.     at org.apache.el.parser.ELParser.Compare(ELParser.java:446)  
  23.     at org.apache.el.parser.ELParser.Equality(ELParser.java:340)  
  24.     at org.apache.el.parser.ELParser.And(ELParser.java:284)  
  25.     at org.apache.el.parser.ELParser.Or(ELParser.java:228)  
  26.     at org.apache.el.parser.ELParser.Choice(ELParser.java:185)  
  27.     at org.apache.el.parser.ELParser.Expression(ELParser.java:177)  
  28.     at org.apache.el.parser.ELParser.DynamicExpression(ELParser.java:149)  
  29.     at org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:46)  
  30.     at org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:115)  
  31.     ... 98 more  
分析:从上述的错误日志来看,是特定的el方法找不到。其中提到了 the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true。

经过从网上查了一下,方才得知,在新的tomcat中,比如我当前使用的Tomcat7中,tomcat对El中的语法进行了更为严格的检查,所以才产生了上述的错误信息。

解决办法:

     $CATALINA_BASE/conf/catalina.properties 增加

   org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false   
   org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true

可能出现上述情况的系统:

         使用老版本的tomcat没有问题,当切换到新的tomcat版本之时,出现了系统可以正常启动,但是页面的内容无法显示的问题,可以查看一下系统日志,通过日志即可知道是否有上述类似的问题。


转载于:http://blog.csdn.net/blueheart20/article/details/21449983


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值