下面的这个页面在 tomcat 5.5.15里面是正确的,但是在6.0.14里面就出问题
<?xml version="1.0" encoding="GBK"?>
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:jsp="http://java.sun.com/JSP/Page">
<jsp:output omit-xml-declaration="true"
doctype-root-element="html"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN"
doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
<head>
<title>error!!!</title>
</head>
<body>
<p>${true? (false?true:false):false}</p>
</body>
</html>
org.apache.jasper.JasperException: An exception occurred processing JSP page
/test.jspx at line 15
12: <title>error!!!</title>
13: </head>
14: <body>
15: <p>${true? (false?true:false):false}</p>
16: </body>
17: </html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:524)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
javax.el.ELException: Error Parsing: ${true? (false?true:false):false}
org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:125)
org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
org.apache.jsp.test_jspx._jspService(test_jspx.java:62)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
org.apache.el.parser.ParseException: Encountered "true: false" at line 1, column 16.
Was expecting one of:
"(" ...
<IDENTIFIER> ...
<NAMESPACE> <IDENTIFIER> ...
org.apache.el.parser.ELParser.generateParseException(ELParser.java:1874)
org.apache.el.parser.ELParser.jj_consume_token(ELParser.java:1754)
org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1136)
org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1030)
org.apache.el.parser.ELParser.Value(ELParser.java:978)
org.apache.el.parser.ELParser.Unary(ELParser.java:960)
org.apache.el.parser.ELParser.Multiplication(ELParser.java:723)
org.apache.el.parser.ELParser.Math(ELParser.java:643)
org.apache.el.parser.ELParser.Compare(ELParser.java:455)
org.apache.el.parser.ELParser.Equality(ELParser.java:349)
org.apache.el.parser.ELParser.And(ELParser.java:293)
org.apache.el.parser.ELParser.Or(ELParser.java:237)
org.apache.el.parser.ELParser.Choice(ELParser.java:203)
org.apache.el.parser.ELParser.Expression(ELParser.java:183)
org.apache.el.parser.ELParser.NonLiteral(ELParser.java:1122)
org.apache.el.parser.ELParser.ValuePrefix(ELParser.java:1030)
org.apache.el.parser.ELParser.Value(ELParser.java:978)
org.apache.el.parser.ELParser.Unary(ELParser.java:960)
org.apache.el.parser.ELParser.Multiplication(ELParser.java:723)
org.apache.el.parser.ELParser.Math(ELParser.java:643)
org.apache.el.parser.ELParser.Compare(ELParser.java:455)
org.apache.el.parser.ELParser.Equality(ELParser.java:349)
org.apache.el.parser.ELParser.And(ELParser.java:293)
org.apache.el.parser.ELParser.Or(ELParser.java:237)
org.apache.el.parser.ELParser.Choice(ELParser.java:203)
org.apache.el.parser.ELParser.Expression(ELParser.java:183)
org.apache.el.parser.ELParser.DynamicExpression(ELParser.java:155)
org.apache.el.parser.ELParser.CompositeExpression(ELParser.java:52)
org.apache.el.lang.ExpressionBuilder.createNodeInternal(ExpressionBuilder.java:93)
org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:146)
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:190)
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:922)
org.apache.jsp.test_jspx._jspService(test_jspx.java:62)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
分享到:
- 2008-07-01 12:09
- 浏览 2850
- 评论(2)
- 论坛回复 / 浏览 (2 / 4089)
- 查看更多
相关推荐
为了在Tomcat服务器上运行包含EL表达式的JSP项目,你需要将这些jar包放入项目的`WEB-INF/lib`目录下。这样,Tomcat在加载项目时会自动扫描该目录,找到所需的类库并将其加载到应用的类路径中。如果你的项目是基于...
### Tomcat 5.5.28与EL表达式的兼容性问题 Tomcat 5.5.28作为一款历史悠久的Java应用服务器,其默认配置可能并不完全支持JSP 2.0规范中的所有特性,包括EL表达式。这主要是因为Tomcat的版本与所支持的JSP版本之间...
NULL 博文链接:https://babykate.iteye.com/blog/1771952
今天发现Tomcat 6.0.36版本存在一个EL表达式解析方面的bug,详细描述请参阅我的博文:http://blog.csdn.net/chaijunkun/article/details/9097229。bug演示地址/bug/show.do,避免此bug的方法演示地址/bug/avoid.do
虽然EL是Java EE的一部分,但在某些情况下,如Tomcat这样的轻量级应用服务器,可能需要这个JAR来支持EL表达式。 在部署Web应用到服务器之前,确保将这两个JAR文件添加到WEB-INF/lib目录下。这样,服务器就可以识别...
### EL表达式语言详解 #### 9.1 概述 在JSP页面开发中,为了提高代码的可读性和可维护性,开发者们逐渐转向使用标签库来替代传统的Java片段语言来实现页面的显示逻辑。然而,自定义标签虽然灵活,但也容易导致重复...
如果你的服务器(如Tomcat、Jetty等)版本较旧,可能不完全支持EL表达式。升级到最新稳定版本,以确保所有功能得到充分支持。 5. **验证EL表达式语法** EL表达式的语法错误也会导致问题。例如,确保变量引用正确...
在Servlet容器(如Tomcat)中,这两个jar包是运行EL表达式所必需的。 使用EL表达式的主要优点包括: - **简洁性**:EL使用简单的语法,如`${object.property}`或`${expression}`,使得代码更易读,更少出错。 - **...
6. Functions:EL表达式中也可以调用在JSP页面或标签库中定义的函数。这些函数可用于执行特定的操作,如字符串处理、日期操作等。 EL表达式能够处理的数据类型包括Java基本类型及其包装类、字符串、数组、集合、Map...
本主题主要探讨在使用EL表达式时所依赖的jar包及其作用。 1. **JSTL (JavaServer Pages Standard Tag Library)** EL通常与JSTL一起使用,JSTL提供了一系列标准标签库,用于增强JSP页面的功能。JSTL的核心标签库(`...
6. 如果是容器问题,考虑升级或降级至与EL表达式兼容的服务器版本。 通过上述分析,我们可以看出,解决EL表达式无效问题需要从多个角度进行排查,包括检查依赖、语法、作用域、类型转换以及服务器配置等。理解并...
在Tomcat服务器中,EL表达式默认是启用的,但在某些情况下可能需要手动配置。有以下两种方法来确保Tomcat支持并正确配置EL表达式: 1. 方法一:在每个JSP页面的顶部添加`<%@ page isELIgnored="false" %>`指令。这...
2. **配置问题**:在某些版本的Tomcat服务器中,可能需要进行特定配置才能使EL表达式生效。例如,在JSP文件中加入`<%@ page isELIgnored="false" %>`指令。 3. **命名规则**:在使用EL表达式时,应避免使用EL表达式...
EL表达式通常在JSP页面的JSP标签、脚本元素或者文本中使用,以${}包裹。 这个资源包包含了两个EL相关的jar包,它们可能是用于支持EL表达式解析和执行的关键库。虽然具体的jar包名称没有给出,但通常这些库可能包括...
tomcat使用EL表达式所需要的jar包,如果没有此jar包系统系统就会报错,现上传此jar包,减少大家找jar包的时间
**JSTL1.1及EL表达式**是Java服务器页面(JSP)开发中的重要组件,它们极大地提升了JSP的可读性和可维护性。本文将深入探讨这两个概念及其在实际开发中的应用。 **JSTL(JavaServer Pages Standard Tag Library)**...
【JSTL与EL表达式详解】 JSTL(JSP Standard Tag Library)是Java服务器端的一个重要组件,主要用于简化JSP页面的编程,提供了一系列的标签库来处理常见的任务,比如数据处理、URL操作、国际化等。它由Apache ...
JSTL是一个不断完善的开放源代码的JSP标签库,是由apache的jakarta小组来维护的。JSTL只能运行在支持JSP1.2和Servlet...JSTL包含两个部分:标签库和EL(Expression Language表达式语言)语言。标签库目前支持四种标签:
问题的核心在于,当EL表达式在进行比较操作时,Tomcat的EL解析器可能会错误地尝试将某些对象转换为不恰当的类型,导致`ELException`。 首先,让我们看看问题的具体情况。开发者在实现数据分页显示功能时,遇到了一...