2011-10-07 509 views
2

所以我用配置我的taglib这样的:Maven依赖jar中的Taglib。如何在web.xml中配置这个taglib?

<jsp-config> 
    <taglib> 
     <taglib-uri>myTags</taglib-uri> 
     <taglib-location>/WEB-INF/lib/mylib-2.0.1.jar</taglib-location> 
    </taglib> 
</jsp-config> 

但现在MYLIB-2.0.1.jar是Maven的依赖,所以它当然不是在/ WEB-INF/lib目录下。

我该怎么配置我的标签库,所以我可以做,在我的JSP:

<%@ taglib uri="myTags" prefix="mt" %> 

EDIT1:要clafiry,该taglib.tld是META-INF里面的罐子里面,所以你可以通过引用jar本身来访问tld。这是一种便捷的方式来将您的taglib与Web应用程序框架jar一起分发。

EDIT2:当我们部署webapp时,jar将位于WEB/INF/lib中。但在开发过程中,在eclipse中,使用m2eclipse,jar不会。所以eclipse抱怨它找不到taglib,因为jar不在那里,我不能在web.xml中引用我的jar。

+0

为什么MYLIB-2.0.1.jar'not'上/ WEB-INF/lib目录? – Raghuram

+0

参见上面的EDIT2。 – TraderJoeChicago

回答

3

你并不需要在web.xml任何配置,如果标签库是\META-INF\taglib.tld你的罐子里,它是自动的,Tomcat的已识别。

您可以使用jsp:

<% @ Taglib prefix = "my" uri = "http://www.mytags.com/"%> 
2

如果您在您的POM中添加了taglig依赖项,它将被添加到您的webapp的WEB-INF/lib目录中。

<dependency> 
    <groupId>yourTageLib</groupId> 
    <artifactId>mylib</artifactId> 
    <version>2.0.1</version> 
    <scope>compile</scope> 
    </dependency> 
+0

你可以添加一个taglib到Maven吗? taglib进入我的jar,在META-INF目录中。 – TraderJoeChicago

+0

在我们的例子中,标签库不在编译范围内,但在提供的范围内。它是服务器库的一部分。 – YMomb