【问题标题】:Taglib inside Maven dependency jar. How do I configure this taglib inside the web.xml?Maven 依赖 jar 中的 Taglib。如何在 web.xml 中配置这个 taglib?
【发布时间】:2011-12-02 17:14:36
【问题描述】:

所以我曾经这样配置我的 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 上。

如何配置我的 taglib 以便在我的 JSP 中进行配置:

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

EDIT1: 明确地说,taglib.tld 位于 jar 内的 META-INF 内,因此您可以通过引用 jar 本身来访问 tld。这是一种将 taglib 与 Web 应用程序框架 jar 一起分发的便捷方式。

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

【问题讨论】:

  • 为什么 mylib-2.0.1.jar not 在 /WEB-INF/lib 上?

标签: java jsp maven web.xml taglib


【解决方案1】:

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

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

【讨论】:

  • 你能在 Maven 中添加一个 taglib 吗? taglib 在我的 jar 中,在 META-INF 目录中。
  • 在我们的例子中,标签库不在编译范围内,而是在提供的范围内。它是服务器库的一部分。
【解决方案2】:

你不需要在web.xml中配置任何东西,如果taglib在你的jar里面的\META-INF\taglib.tld,它是自动的,Tomcat已经识别了。

你可以使用jsp:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-03-21
    • 1970-01-01
    • 2010-11-18
    • 2010-09-18
    • 1970-01-01
    • 2019-02-05
    • 1970-01-01
    • 2011-10-24
    相关资源
    最近更新 更多