2014-04-16 25 views
2

目前,我有標籤庫設置,並使用以下標籤在我的JSP頁面上正常工作:如何在WEB-INF文件夾中使用標籤庫JSTL /核心與JAR

<%@ 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應用程序而無需連接互聯網即不是調用URI中的taglib,所以我想我可以下載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中嗎?

任何幫助將不勝感激!謝謝!

回答

6

的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下載該jar。該URI更像是標識taglib的唯一名稱。

通過單擊鏈接到http://java.sun.com/jsp/jstl/core檢查你自己沒有jar文件要下載那裏。它只是一個標識符。

相關問題