Apache Tiles与JSP和Servlet webapp集成

时间:2015-04-22 20:43:59

标签: java jsp maven apache-tiles

我已成功将Apache Tiles与我的webstore集成,该webstore基于纯JSP和Servlet技术(Tomcat 8)构建。我只使用Apache Tiles,仅用于页面模板,没有别的,我的maven pom包含依赖关系如下:

的pom.xml

<dependency>
    <groupId>org.apache.tiles</groupId>
    <artifactId>tiles-extras</artifactId>
    <version>3.0.5</version>
</dependency>

我感觉tiles-extras拉入了我甚至不使用的所有东西。我的问题是我应该在模板中包含哪个特定的罐子?我正在使用template.jsp作为基本JSP模板页面,如下所示:

template.jsp

  <body>
        <table class="noborder">
            <tr>
                <td>
                    <tiles:insertAttribute name="header"/>
                    <tiles:insertAttribute name="body"/><br/><br/>
                    <tiles:insertAttribute name="footer"/>
                </td>
            </tr>
        </table>
    </body>

WEB-INF / tiles.xml

<tiles-definitions>
    <definition name="homePage" template="/jsp/template.jsp">
        <put-attribute name="header" value="/jsp/header/header.jsp" />
        <put-attribute name="body" value="/jsp/content/home/home.jsp" />
        <put-attribute name="footer" value="/jsp/footer/footer.jsp" />
    </definition>

的web.xml

<listener>
        <listener-class>org.apache.tiles.extras.complete.CompleteAutoloadTilesListener</listener-class>
    </listener>

    <servlet>
        <servlet-name>Tiles Dispatch Servlet</servlet-name>
        <servlet-class>org.apache.tiles.web.util.TilesDispatchServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>Tiles Dispatch Servlet</servlet-name>
        <url-pattern>*.tiles</url-pattern>
    </servlet-mapping>

1 个答案:

答案 0 :(得分:1)

如果您不使用tiles-extra标签,请仅添加tiles-jsp