java.lang.NoSuchFieldError: deferredExpression
org.apache.taglibs.standard.tag.common.core.ForEachSupport.release(ForEachSupport.java:178)
org.apache.jasper.runtime.TagHandlerPool.release(TagHandlerPool.java:166)
org.apache.jsp.sitetotal_005fdisplay_jsp._jspDestroy(sitetotal_005fdisplay_jsp.java:44)
org.apache.jasper.runtime.HttpJspBase.destroy(HttpJspBase.java:61)
org.apache.jasper.servlet.JspServletWrapper.destroy(JspServletWrapper.java:425)
org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:139)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
oilsb.filter.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:20)
问题原因:jstl标签版本冲突
解决方案以及相关说明:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>使用的是jstl.jar
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core_rt"%>使用的是jstl-1.1.2.jar或jstl-1.2.jar
工程中使用的标签必须统一,只用一个jar包。发布后检查Tomcat中jar包是否只有一个。
分享到:
相关推荐
这个库使得开发者能够在JSP页面上执行条件检查、循环、异常处理、XML处理、国际化等操作,极大地提高了代码的结构化程度。 **核心JSTL组件:** 1. **fmt**: 提供了日期、数字、消息的格式化功能,支持国际化。 2. *...
4. **异常处理**:确保在错误情况下,如无效的数据输入或未定义的变量,JSTL标签能正确处理异常。 **对于`JstlTest`这个压缩包文件,可能包含了具体的测试用例、测试类或者测试脚本,这些内容将有助于理解JSTL标签...
- **缺失或错误的XML文档**:如果XML数据本身存在错误,如语法错误、未闭合的标签或者命名空间冲突,那么在尝试处理XML时会引发异常。 - **JSP配置错误**:确保在JSP页面的顶部正确地导入了JSTL库,例如: ```jsp ...
1. **Core库**:提供了基础的控制结构,如条件语句(if、choose、when、otherwise)、循环(forEach)、URL重写(redirect、rewrite)以及异常处理等功能。 2. **I18N和Format库**:支持国际化和格式化,包括日期、...
- `<c:catch>`:捕获异常,用于错误处理。 - **流程控制:** - `<c:if>`:条件判断。 - `<c:choose>`、`<c:when>`、`<c:otherwise>`:多分支选择。 - `<c:forEach>`:迭代遍历集合或数组。 - `<c:forTokens>`...
当服务器尝试加载并执行包含JSTL标签的JSP页面时,如果没有找到这些必要的jar包,就会抛出这个异常。解决方法就是添加`jstl-1.2.jar`和`standard-1.1.2.jar`到项目的类路径(classpath)中。 `jstl-1.2.jar`是JSTL...
1. **Core**:这是最基础的部分,包含了与控制流程相关的标签,如条件语句(if、choose、when、otherwise)、循环(foreach)、跳转(redirect、forward)以及异常处理等功能。 2. **fmt**:这个模块负责处理国际化...
- `<c:catch>`:异常捕获。 - `<c:remove>`:移除变量。 - `<c:set>`:设置变量。 - `<c:foreach>`:循环。 - `<c:choose>`:条件判断。 通过上述内容可以看出,JSTL为JSP开发者提供了非常丰富的标签支持,极...
JSTL(JavaServer Pages Standard Tag Library,JSP标准标签库)是一种广泛应用于JSP页面的技术,它通过一组预定义的标签简化了网页开发工作,使得开发者无需编写复杂的Java代码即可实现动态内容的处理。JSTL标签库...
2. **错误处理**:在标签处理类中适当地处理异常,避免影响应用程序的正常运行。 3. **性能优化**:合理设计标签逻辑,减少不必要的计算和I/O操作。 4. **测试与文档**:对自定义标签进行充分的单元测试,并编写清晰...
5. **异常处理**:讨论可能出现的问题及解决办法,提高程序健壮性。 通过这两个实战例子的学习,开发者不仅能够掌握JSTL的基本用法,还能了解到如何在实际项目中有效运用JSTL来提升开发效率。文档中的清晰易懂说明...
Javadoc是Java API的官方文档,包含了JSTL 1.2所有接口、类和方法的详细说明,包括它们的功能、参数、返回值以及可能抛出的异常等。通过阅读Javadoc,开发者可以深入理解每个标签的工作原理,从而更好地利用JSTL 1.2...
1.2.jar** 是JSTL的核心库,包含了大部分常用的标签,如条件语句(if、choose、when、otherwise)、循环(forEach、forTokens)、URL处理(url、redirect)、表达式处理(out、set、remove、param)以及异常处理...
- `<c:catch>`:用于捕获异常。 2. **条件控制标签** - `<c:if>`:基于条件执行代码块。 - `<c:choose>`:选择性执行代码块。 - `<c:when>`:配合 `<c:choose>` 使用。 - `<c:otherwise>`:在 `<c:choose>` ...
- `<c:catch>`:提供错误处理机制,可以捕获并处理JSP页面中的异常。 总的来说,JSTL的这些标签大大简化了JSP页面的编写,提高了代码的可读性和可维护性,使得开发者可以更加专注于业务逻辑,而非页面呈现细节。...
异常处理程序:能够让系统在出现异常的情况下恢复过来的程序使用异常处理情况:异常诊断与异常处理不在同一个位置下时使用异常处理程序(若用户一直通过键盘与程序通话,那么就不能使用处理键盘输入处理)使用异常的...
1. ****:用于捕获JSP页面中的异常,可以将异常存储在一个变量中供后续处理。 2. ****、****和****:实现类似于Java中的if...else结构,根据条件执行不同的代码块。 3. ****:遍历集合或数组,对每个元素执行代码块...
3. **错误处理**:查看源码可以了解JSTL如何处理异常,这对于调试和增强应用程序的健壮性至关重要。 4. **JSP规范**:了解JSTL如何遵循JSP规范,可以加深对整个Java Web开发框架的理解。 5. **设计模式**:源代码...
如果`jstl.jar`和`standard.jar`没有被放到`WEB-INF/lib`下,那么JSP页面中引用的JSTL标签可能无法正常工作,导致编译错误或运行时异常。因此,确保这两个库文件的位置正确是至关重要的,否则可能会影响到Web应用的...