目前,我使用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>
我需要我的Web应用程序在没有Internet连接的情况下工作,即不调用taglib中的URI,所以我想我可以下载jstl-1.2.jar并将其放在/ WEB-INF / lib文件夹中 . 然后我可以将我的标签如下:
<%@ taglib uri="/WEB-INF/lib/jstl-1.2" prefix="c" %>
但是,这不起作用 . 它说无法找到标记库描述符 . 所以我的问题是, how do I use JSTL in taglibs using a JAR in the WEB-INF folder, instead of calling the java sun website in the URI??
我需要在web.xml中放置任何内容吗?我是否删除了我的Maven依赖项?我需要在META-INF中添加一些东西吗?
任何帮助将非常感激!谢谢!
1 回答
中的URI
并不是真正的互联网参考 . 即使将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文件 . 它只是一个标识符 .