<%@taglib prefix="c" uri="http://java.sun.com/jsp/jst1/core"%>报错
查了一晚上 刚开始觉得最靠谱的还是这个说法:
1.下载jakarta-taglibs-standard-1.1.2.zip(在Weblogic中必须下载1.0版 http://jakarta.apache.org/site/downloads/downloads_taglibs-standard-1.0.cgi) 2.解压后,将standard.jar和jstl.jar文件拷贝到WEB-INFlib 3.将jakarta-taglibs-standard-1.1.1tld下的tld类型文件拷到"WEB-INFtlds"下(1.1是15个文件,1.0是8个) 4.在WEB-INF下建立web.xml文件:(以下<taglib>定义是针对1.0的) <?xml version="1.0" encoding="gbk"?> <web-app 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"> <taglib> <taglib-uri> http://java.sun.com/jstl/fmt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/fmt-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/fmt-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/core</taglib-uri> <taglib-location>/WEB-INF/tlds/c.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/core-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/c-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/sql</taglib-uri> <taglib-location>/WEB-INF/tlds/sql.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/sql-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/sql-rt.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/x</taglib-uri> <taglib-location>/WEB-INF/tlds/x.tld</taglib-location> </taglib> <taglib> <taglib-uri> http://java.sun.com/jstl/x-rt</taglib-uri> <taglib-location>/WEB-INF/tlds/x-rt.tld</taglib-location> </taglib> </web-app> 建立一个名为test.jsp文件 <%@ page isELIgnored="false" %>Tomcat中必须加这行,因为,默认jsp是不支持EL的.Weblogic中不能加,加了会出错。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <%@ page contentType="text/html;charset=GB2312" %> <%@ taglib prefix="c" uri=" http://java.sun.com/jsp/jstl/core"%> <html> <head> <title>测试你的第一个使用到JSTL 的网页</title> </head> <body> <c:out value="欢迎测试你的第一个使用到JSTL 的网页"/> </br>你使用的浏览器是:</br> <c:out value="${header['User-Agent']}"/> <c:set var="a" value="David O'Davies" /> <c:out value="David O'Davies" escapeXml="true"/> </body> </html>
下面附上 下载各个版本jakarta-taglibs-standard的链接;http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/
结果按照上面部署以后,并没有得到自己想要的结果。
最后再这篇文章中找到自己想要的结果:
出现该问题的原因有如下可能:
1、 web项目出现如上问题,据查是版本问题:
JSTL 1.0 的声明是:
<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core " %>
JSTL1.1 的声明是:
<%@ taglib prefix="c" uri=http://java.sun.com/jsp/jstl/core %>
2、输入的"http://java.sun.com/jsp/jst1/core"中的jstl中的"l"不是数字"1"而是小写字母"l"(笔者轻身体会)
3、缺少 jstl.jar和standard.jar包,这个两个文件获取的链接为:http://archive.apache.org/dist/jakarta/taglibs/standard/binaries/