我想在我的jsp页面中添加JSTL taglib。我使用了TLD(标记lib描述符),但它无效。
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xml......./java.sun.com/xml/ns/javaeeversion="2.1">
<tlib-version>1.0</tlib-version>
<uri>/WEB-INF/lib/jstl-impl-1.2.jar</uri>
</taglib>
并像这样导入它:
<%@taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
答案 0 :(得分:1)
这不是安装和使用JSTL的正确方法。删除松散的TLD文件。删除您在web.xml
中所做的所有修改。忽略并列出所有教程和其他告诉您这样做的在线资源。
正确的方法是:
调查目标容器是否已经捆绑了JSTL。像Tomcat,Jetty等简单容器不会。您需要将jstl-1.2.jar放在webapp的/WEB-INF/lib
文件夹中(由webapp的默认运行时类路径覆盖)或在容器的(共享)类路径中。没有别的事情需要做。不要提取JAR文件,也不要创建TLD文件或其他东西。像Glassfish,JBoss AS等更成熟的容器已经捆绑了JSTL。在这种情况下,您无需下载任何内容,也无需更改类路径。
阅读JSTL taglib documentation。您想使用JSTL核心库。单击taglib文档中的JSTL core链接。阅读“标准语法”部分如何在JSP文件中正确声明。它读起来像
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
(请注意taglib URI中的/jsp
部分!)
就是这样。