目前我在我的JSP页面顶部使用以下标记设置了taglib并正常工作:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
在Maven中我有依赖项:
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>2.2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
我需要我的网络应用程序在没有Internet连接的情况下工作,即不调用taglib中的URI,所以我想我可以下载jstl-1.2.jar并将其放在/ WEB-INF / lib文件夹中。然后我可以将我的标签作为以下内容:
<%@ taglib uri="/WEB-INF/lib/jstl-1.2" prefix="c" %>
但是,这不起作用。它说无法找到标记库描述符。所以我的问题是,如何在WEB-INF文件夹中使用JAR在taglib中使用JSTL,而不是在URI中调用java sun网站?
我是否需要在web.xml中放置任何内容?我是否删除了我的Maven依赖项?我需要在META-INF中添加一些东西吗?
任何帮助将不胜感激!谢谢!
答案 0 :(得分:7)
中的URI
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
实际上不是对互联网的引用。即使将Jar文件放在WEB-INF / lib /中,您也会将uri保留为该地址。 servlet容器始终在WEB-INF / lib /中查找jar,并且永远不会从http://java.sun.com/jsp/jstl/core
下载它。该URI更像是标识taglib的唯一名称。
单击http://java.sun.com/jsp/jstl/core的链接检查自己。那里没有要下载的jar文件。它只是一个标识符。