主页使用freemarker模板和J2EE,如.net

Dee*_*mar 9 jquery freemarker master-pages

我打算使用J2ee,Spring 3.0n,Freemarker和jQuery创建一个Web应用程序.

我的问题是:有没有办法创建包含页眉和页脚的母版页,并包含所有Javascript文件,以便我可以直接在我的所有页面中调用该母版页,并节省时间一次又一次地包含所有js文件?

与.Net相同提供了母版页的概念,我想在Freemarker中创建自己的母版页.

小智 10

基本上你写一个宏,我们称之为masterTemplate.

[#macro masterTemplate title="defaultTitle"]
    <!DOCTYPE html
            PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
            "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></meta>
        <title>${title}</title>
        ... scripts, style sheets, meta information ...
    </head>
    <body>
     <div id="header">...</div>
     <div id="content">
       [#nested /]
    </div>
    <div id="footer>...</div>
    </body>
    </html>
[/#macro]
Run Code Online (Sandbox Code Playgroud)

然后,您在页面中使用此宏,如下所示:

[#import "/path/to/masterTemplate.ftl" as layout /]

[@layout.masterTemplate title="My test page"]
    ...content goes here...
[/@layout.masterTemplate]
Run Code Online (Sandbox Code Playgroud)

您可以通过将页面中的所有相关数据作为属性传递给masterTemplate来实现某种装饰技术:请参阅title属性.以同样的方式,您可以传递其他脚本和样式表.

此技术如下所示:Freemarker wiki