首页 文章

如何在WEB-INF文件夹中使用带有JAR的taglibs JSTL / core

提问于
浏览
3

目前,我使用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 回答

  • 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文件 . 它只是一个标识符 .

相关问题