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

来源:互联网 发布:wind金融数据客户端 编辑:程序博客网 时间:2024/05/22 04:42
错误信息如下:

  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版本之时,出现了系统可以正常启动,但是页面的内容无法显示的问题,可以查看一下系统日志,通过日志即可知道是否有上述类似的问题。

0 0
原创粉丝点击