一个上午加上一小半下午时间就在这些错误中纠缠过去了,这错误真是层出不穷,连连不断啊、最后一位大神的博客被我发现,终于解决问题,因为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:
- <span style="font-size: medium;"><?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">
- </span>
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),一定要注意这个细节。
祝大家好运!!