【问题标题】:web.xml for jstl用于 jstl 的 web.xml
【发布时间】:2011-05-25 04:17:05
【问题描述】:

我尝试了带有 jstl 的代码。例外是

org.apache.jasper.JasperException: 绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或随此应用程序部署的 jar 文件中解析

我正在使用日食。我添加了jstl.jarstandard.jar。我现在应该给web.xml 什么?我不知道该给<taglib> 什么。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"  %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>

<c:forEach var = "userName" items = "${name}"> 
<tr> 
<td>${userName}</td>

 </tr>
 </c:forEach>   

</body>
</html>

【问题讨论】:

  • 您使用的是哪个 servlet 容器?

标签: java jsp jstl


【解决方案1】:

如果您下载了具有不同 URI 的古老 JSTL 1.0,或者您将 JAR 放在错误的位置(即不在/WEB-INF/lib 或 webapp 的运行时类路径中的任何位置),就会发生这种情况。

确保下载正确的版本并将 JAR 放入 /WEB-INF/lib。对于 web.xml 被声明为 Servlet 2.5 的 Web 应用程序,您只需下载 JSTL 1.2 as jstl-1.2.jar。对于 Servlet 2.4 Web 应用程序,您需要下载 JSTL 1.1 as jstl.jar and standard.jar

您不需要提取 JAR。您也不需要像一些糟糕的在线教程所建议的那样修改web.xml。只需将 JAR(s) 放到运行时类路径中,在 JSP 中声明 taglib 即可。

【讨论】:

    【解决方案2】:

    如果jar保存在WEB-INF内的lib目录中,则无需在web.xml中输入jstl.jar或standard.jar。 容器默认查看WEB-INF的lib目录

    【讨论】:

      【解决方案3】:

      您不必将 taglib 元素添加到 web.xml。通过容器中的服务机制查询标准和 jstl jar。

      确保 jars 与 web-app 一起导出并位于 WEB-INF/lib 下,你应该没问题。

      【讨论】:

        猜你喜欢
        • 2015-06-21
        • 1970-01-01
        • 2014-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多