【问题标题】:Unknown tag tiles:insertAttribute未知标签图块:insertAttribute
【发布时间】:2018-01-30 16:22:21
【问题描述】:

我正在尝试使用 Tiles 在 JSP 页面中显示 div,但 Eclipse 向我显示如下警告:

Unknown tag (tiles:insertAttribute)

这是我的index.jsp

<nav class="navbar navbar-inverse">     
    <tiles:insertAttribute name="header" />
</nav>
<!--  Main container  -->
<div class="container-fluid text-center">
    <div class="row content">
<!-- Right menu -->     
        <div class="col-sm-2 sidenav">
            <tiles:insertAttribute name="menu" />
        </div>

这是我的tiles.xml

<?xml version="1.0" encoding="UTF-8" ?>

<!DOCTYPE tiles-definitions PUBLIC
   "-//Apache Software Foundation//DTD Tiles Configuration 2.0//EN"
   "http://tiles.apache.org/dtds/tiles-config_2_0.dtd">
<tiles-definitions>
    <definition name="index" template="/index.jsp">
        <put-attribute name="title" value="" />
        <put-attribute name="header" value="/Header.jsp" />
        <put-attribute name="menu" value="/Menu.jsp" />
        <put-attribute name="body" value="/Body.jsp" />
        <put-attribute name="footer" value="/Footer.jsp" />
    </definition>

这在我的web.xml:

<listener>
    <listener- class>org.apache.struts2.tiles.StrutsTilesListener</listener-class>
</listener>
<context-param>
    <param-name>tilesDefinitions</param-name>
    <param-value>/WEB-INF/tiles.xml</param-value>
</context-param>

编辑:

这是我的pom.xml 的一部分,如果需要更多信息,请询问我。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.cice.adelagd</groupId>
<artifactId>proyectoNUS</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>proyectoNUS Maven Webapp</name>
<url>http://maven.apache.org</url>
<dependencies>

    <dependency>
        <groupId>org.dom4j</groupId>
        <artifactId>dom4j</artifactId>
        <version>2.1.0</version>
    </dependency>
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-simple</artifactId>
        <version>1.7.25</version>
    </dependency>
    <dependency>
        <groupId>org.apache.geronimo.specs</groupId>
        <artifactId>geronimo-jta_1.1_spec</artifactId>
        <version>1.1.1</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.1-api</artifactId>
        <version>1.0.2.Final</version>
    </dependency>
    <dependency>
        <groupId>org.jboss</groupId>
        <artifactId>jandex</artifactId>
        <version>2.0.4.Final</version>
    </dependency>
    <dependency>
        <groupId>org.javassist</groupId>
        <artifactId>javassist</artifactId>
        <version>3.22.0-GA</version>
    </dependency>
    <dependency>
        <groupId>org.jboss.logging</groupId>
        <artifactId>jboss-logging</artifactId>
        <version>3.3.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.antlr</groupId>
        <artifactId>antlr</artifactId>
        <version>3.5.2</version>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.44</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>3.8.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.apache.struts</groupId>
        <artifactId>struts2-core</artifactId>
        <version>2.5.14.1</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-core</artifactId>
        <version>2.10.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.10.0</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>5.2.12.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>5.0.1.Final</version>
    </dependency>
</dependencies>
<build>
    <finalName>proyectoNUS</finalName>
    <plugins>
        <plugin>
            <groupId>org.eclipse.jetty</groupId>
            <artifactId>jetty-maven-plugin</artifactId>
            <version>9.4.7.v20170914</version>
            <configuration>
                <webApp>
                    <contextPath>/${project.build.finalName}</contextPath>
                </webApp>
                <stopKey>CTRL+C</stopKey>
                <stopPort>8999</stopPort>
                <scanIntervalSeconds>10</scanIntervalSeconds>
                <scanTargets>
                    <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
                </scanTargets>
            </configuration>
        </plugin>
    </plugins>
</build>
</project>

【问题讨论】:

  • 你的 JSP 文件中不应该有标签库指令吗?
  • 瓷砖的版本是多少?
  • 可能是这个?对不起,我对 Java 很贪心..
  • 这是什么?没看到版本啊如果你不懂 java 那你问这个干嘛?
  • 当你问我时,我添加了 pom.xml。 ir 2.0.6 版本

标签: java eclipse maven struts2 tiles


【解决方案1】:

您误解了项目使用的文件。 index.jsp 不应包含任何菜单内容。最好将其命名为headmenu tile。

要在 JSP 中为标签使用 tiles: 前缀,您应该定义一个标签库:

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

【讨论】:

  • 不要在 index.jsp 中使用
  • 我不知道您看到了什么,但您应该将文件 index.jsp 重命名为其他名称,因为 index.jsp 是用于显示目录内容的特殊文件名。
猜你喜欢
  • 1970-01-01
  • 2018-03-16
  • 2012-01-14
  • 2018-05-12
  • 1970-01-01
  • 1970-01-01
  • 2018-01-02
  • 2021-08-17
相关资源
最近更新 更多