使用Maven时找不到切片的标记库描述符

时间:2011-05-13 08:03:15

标签: jsp maven struts2 apache-tiles

这是web.xml文件

中的配置
<listener>
    <listener-class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>

<filter>
    <filter-name>struts2</filter-name>
    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>struts2</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

以下是pom.xml

中的配置
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-spring-plugin</artifactId>
        <version>2.2.1</version>
    </dependency>

    <dependency>
        <groupId>org.apache.tiles</groupId>
        <artifactId>tiles-jsp</artifactId>
        <version>2.2.2</version>
        <type>pom</type>
        <scope>compile</scope>
    </dependency>

我一直这样说:Can not find the tag library descriptor for "http://struts.apache.org/tags-tiles"当我将taglib添加到布局中时:

<%@ taglib prefix="tiles" uri="http://struts.apache.org/tags-tiles"%>

当我在服务器上运行时:

SEVERE: Error configuring application listener of class org.apache.struts2.tiles.StrutsTilesListener

我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:4)

感谢Kenny Lee我在几周后找到了解决方案:(( 您需要通过以下方式配置您的eclipse项目设置:

  1. 在包浏览器视图下的左侧面板上右键单击eclipse中的项目。
  2. 单击Java EE Module Dependencies。
  3. 检查(确保勾选复选框)Maven Dependencies选项(最后一个选项)。
  4. 对于Eclipse 3.6 Click Here for more information

    有时在配置后你必须刷新项目或使用mvn cleanmvn install并且它会做技巧

答案 1 :(得分:0)

你的web.xml缺少taglib声明:

<taglib>
  <taglib-uri>
    http://struts.apache.org/tags-tiles
  </taglib-uri>
  <taglib-location>
    /WEB-INF/tags-tiles.tld
  </taglib-location>
</taglib>

答案 2 :(得分:0)

如何使用this example中指定的依赖项版本来查看它是否有效?

answered中的related question,看起来需要struts2-tiles依赖,可能您不需要struts2-spring-plugin