如何使用Tiles做Facelets般的模板组合?

时间:2011-05-09 22:56:46

标签: java spring jsp tiles

我正在使用Spring,JSP和Tiles进行Java Web项目。在我们的上一个项目中,我们使用Facelets <ui:composition><ui:define>标记在模板的标题中包含JS和CSS库。我想知道是否有办法使用Tiles做同样的事情。

这是我正在尝试做的Facelets主模板的一个例子:

<html
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:sec="http://www.springframework.org/security/facelets/tags">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
        <title><ui:insert name="title">MediMercado</ui:insert></title>
        <link href="${request.contextPath}/css/layout.css" rel="stylesheet" type="text/css" />
        <ui:insert name="additional-js"></ui:insert>
    </head>
    <body>
         <ui:insert name="content">
             <ui:include src="main-content.xhtml"/>
         </ui:insert>
    </body>
</html>

页面模板:

<ui:composition template="/layout/layout.xhtml"
    xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets">
    <ui:define name="additional-js">
        <script src="${request.contextPath}/js/jquery.js" type="text/javascript"></script>
    </ui:define>
    <ui:define name="content">
        <h1>Just an example</h1>
    </ui:define>
</ui:composition>

因此,在此示例中,页面模板中的jquery库已包含在主模板的HTML头中。

我们如何使用Tiles做到这一点?

1 个答案:

答案 0 :(得分:1)

Tiles Tutorial涵盖了这个主题。

(提示:在Tiles文件中,文件比在JSF中更加分离)