升级tomcat后,访问jsp报错500,错误信息如下:
org.apache.jasper.JasperException: … … The JSP specification requires that an attribute name is preceded by whitespace
问题原因:Tomcat7增加了个参数 org.apache.jasper.compiler.Parser.STRICT_WHITESPACE ,表示是否严格校验这种空格,默认为true,问了兼容之前的jsp,在tomcat/conf/catalina.properties中设置org.apache.jasper.compiler.Parser.STRICT_WHITESPACE=false 来兼容
另可能有2个EL表达式的错误,如"${new.title}"因包含关键字new就会导致解析出错,
解决方法:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties 文件,添加 org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true 选项。
value="<%=view.getItems("SendAcctList")%>"因为双引号包含双引号,可能导致解析出错
解决方法:可以修改为单引号包含双引号,也可以修改tomcat属性,org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 来跳过严格的引号校验
org.apache.jasper.JasperException: … … The JSP specification requires that an attribute name is preceded by whitespace
问题原因:Tomcat7增加了个参数 org.apache.jasper.compiler.Parser.STRICT_WHITESPACE ,表示是否严格校验这种空格,默认为true,问了兼容之前的jsp,在tomcat/conf/catalina.properties中设置org.apache.jasper.compiler.Parser.STRICT_WHITESPACE=false 来兼容
另可能有2个EL表达式的错误,如"${new.title}"因包含关键字new就会导致解析出错,
解决方法:修改tomcat属性,忽略对EL表达式的关键字检查。修改$CATALINA_BASE/conf/catalina.properties 文件,添加 org.apache.el.parser.SKIP_IDENTIFIER_CHECK=true 选项。
value="<%=view.getItems("SendAcctList")%>"因为双引号包含双引号,可能导致解析出错
解决方法:可以修改为单引号包含双引号,也可以修改tomcat属性,org.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false 来跳过严格的引号校验