哎,真他娘的无语了,jstl标签竟然还与tomcat的版本有关。
一会报错:
java.lang.AbstractMethodError: javax.servlet.jsp.PageContext.getELContext()Ljavax/el/ELContext;
这个是你用的tomcat版本低,而jstl标签的版本高了。(我用的tomcat5.5,jstl1.2)
google一下,说是什么web.xml版本为2.4要改为2.3,还需要添加一个c.tld的引用。
修改后继续错:
The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application
这个是你的<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>,uri路径写错了,是jstl1.1版本一下的去standard.jar文件的META-INF中的c.tld中看uri路径是否多写了jsp(如:http://java.sun.com/jstl/core)。
不断的报错:
java.lang.NoClassDefFoundError: org/apache/taglibs/standard/tag/rt/core/ForEachTag
修改后仍然报错:
java.lang.NoClassDefFoundError: javax/el/ValueExpression
按照网上所说,更换为jstl1.0.1.jar和standard1.0.1.jar,依旧报错:
According to TLD or attribute directive in tag file, attribute items does not accept any expressions
一个上午加上一小半下午时间就在这些错误中纠缠过去了,这错误真是层出不穷,连连不断啊、最后一位大神的博客被我发现,终于解决问题,因为tomcat的版本与jstl以及servlet还需要兼容的啊。
servlet/jsp tomcat
2.5/2.1 6.0.18
2.4/2.0 5.5.27
2.3/1.2 4.1.39
2.2/1.1 3.3.2(archived)
-----------------------------------------------------------
servlet jsp jstl javaee
2.5 2.1 1.2 5.0
2.4 2.0 1.1 1.4
2.3 1.2 1.0 1.2
小解释一下,可能大家伙都知道了,传说中的servlet版本可以在web.xml中看到。
如我的tomcat5.5:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
id="WebApp_ID"
version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
version=2.4 。
当然也会有些报错与jar包冲突有关。
两条解决jstl标签问题的途径:1、jar包冲突,覆盖低版本的jar包即可;2、就需要着重看看是否与tomcat的版本冲突,否则也不能成功。.
经过测试:在jstl1.0以后(jstl1.1,jstl1.2),都包含两个uri,即:
1. http://java.sun.com/jsp/jstl/core;2.http://java.sun.com/jstl/core
但是,jstl1.0以后推荐使用第一个uri(我使用第二个uri报错:According to TLD or attribute directive in tag file, attribute items does not accept any expressions),一定要注意这个细节。
祝大家好运!!
分享到:
相关推荐
解决方法:移出工程lib目录中的JSTL1.2.jar,添加standard-1.1.jar和JSTL1.1.jar 总结: jstl1.1版本由2个必要包构成:standard-1.1.jar和JSTL1.1.jar;而jstl1.1版本只有一个必要包JSTL1.2.jar。(一开始在替换的...
2. **错误处理**:1.2版本提高了错误处理机制,使得在遇到问题时能更清晰地定位和解决问题。 3. **性能优化**:通过优化内部实现,JSTL 1.2在处理大量数据和复杂逻辑时,其性能相比1.1版本有所提升。 4. **标签库...
本文总结了SSH框架常见的错误和解决方法,以便开发者快速解决问题,提高开发效率。 一、Struts配置文件错误 在Struts框架中,struts-config.xml文件是核心配置文件,一旦配置错误,将导致应用程序无法正常运行。...
总结来说,要解决JSP中使用JSTL导入HTML出现的乱码问题,关键在于正确设置标签的encoding属性。由于标签并不能改变导入过程中JSTL的字符编码设置,因此不能依赖标签来解决乱码问题。通过明确指定encoding属性为正确...
**jstl.jar** 文件则包含了JSTL的实现,它与`standard.jar`一起工作,提供了JSTL的完整功能。JSTL的主要优点在于它的可扩展性,开发者可以自定义标签库来满足特定需求。此外,JSTL还支持国际化和本地化,使得网站...
- **JSTL的历史背景和发展现状**:介绍了JSTL的起源以及它是如何解决早期JSP开发中的问题的。 - **JSTL的基本概念**:解释了JSTL的核心概念,如标签库、标签处理函数、标签文件等。 - **通用标签库详解**:详细讲解...
这份"jsp开发中遇到的问题及解决方案"的压缩包文件,旨在为J2EE项目的开发提供帮助,解决实践中可能遇到的常见难题。以下是针对JSP、Web开发以及J2EE开发的一些关键知识点和常见问题的解决方案: 1. **JSP基本语法...
"jstl - 学习笔记 - BlogJava.mht"可能讲解了JSTL(JavaServer Pages Standard Tag Library)在处理这些接口时的使用方法,而"el表达式.doc"可能涉及了Expression Language在传递和解析数据时的常见问题。...
【JAVA与数据库实训总结】 本次实训主要围绕Java与数据库的结合应用进行,涵盖了SSM(Spring、SpringMVC、MyBatis)框架的整合与应用、数据库设计与操作、前端页面构建、邮件发送、异步请求处理、过滤器、会话管理...
JSTL的SQL库提供了与数据库交互的标签,如`<sql:query>`、`<sql:update>`等,使得执行SQL查询和数据操作变得更加简单,减少了对JDBC API的直接依赖。 **JSTL格式化库** 格式化库(fmt)用于国际化的日期、数字和...
【JAVA与数据库实训总结】 在这次的JAVA与数据库实训中,我们主要围绕SSM(Spring、SpringMVC、MyBatis)框架展开,通过实际项目——Estore图书商城的开发,深化了对Java编程和数据库操作的理解。在这个过程中,...
**Spring MVC 框架学习总结** Spring MVC 是 Spring 框架的重要组成部分,它是一个用于构建 Web 应用程序的轻量级、模型-视图-控制器(MVC)框架。Spring MVC 提供了优雅的编程模型和高度模块化的架构,使得开发者...
本文将结合提供的标题“java面试总结jsp笔试”以及标签“源码”和“工具”,深入探讨JSP的相关知识点,帮助你更好地准备面试。 1. **JSP基本概念** JSP是一种基于Java的技术,用于创建动态网页。它将HTML、CSS和...
在Java服务器页面(JSP)开发中,程序员经常会遇到各种问题,这些问题可能涉及到语法错误、逻辑错误、性能优化以及与Servlet、JavaBean等其他技术的集成。本篇将详细探讨这些常见问题及其解决办法,旨在为Java程序员...
排错则需要对前端(用户界面)和后端(服务器逻辑)的错误和异常进行深入分析,找出问题根源,并提出有效的解决方案。 **2. 项目开发步骤** - **静态页面设计**:首先,设计网页布局,包括登录、注册、主题列表、...
9. **接口与抽象类**:接口用于定义一组方法,但不提供实现,而抽象类可以包含抽象方法(没有实现的方法)和具体方法。两者都是实现多态的方式,但接口更强调行为的规范,而抽象类则更多关注部分实现。 10. **反射...
本文将详细介绍SpringBoot与JSP集成时遇到404问题的解决方案。 首先,要确保在使用Maven构建项目时,已经正确地在`pom.xml`中添加了必要的依赖。这些依赖包括用于支持JSP的嵌入式Tomcat Jasper引擎和JSTL(Java...
本文档集合了绝对经典的JSP编程经验,旨在帮助开发者提高技能,解决实际问题。** 1. **JSP基本概念** - **JSP页面结构**:JSP页面由HTML、CSS、JavaScript和Java代码片段组成,其中Java代码用于处理服务器端逻辑。...