【问题标题】:freemarker with spring - how to bind global data to a template?freemarker with spring - 如何将全局数据绑定到模板?
【发布时间】:2015-09-20 19:45:37
【问题描述】:

我想用spring mvc和freemarker创建一个小项目。

我已经创建了一个小模板和一个布局:

模板:

<#import "layout/defaultLayout.ftl" as layout>
<@layout.myLayout>
  <div><h1>Hello Dude</h1></div>
</@layout.myLayout>

布局:

<#macro myLayout>
  <html>
    <body>
            <!-- menu -->

            <!-- content -->
            <#nested/>
    </body>
  </html>
</#macro>

我现在的问题: 我怎样才能创建一个动态值(也许是 bean 数据)? 我不想在每个控制器操作中添加数据。 将此类数据放入不特定于控制器操作的完整布局中,有什么好的解决方案?

【问题讨论】:

标签: java spring spring-mvc freemarker


【解决方案1】:

我找到了自己的解决方案。 我需要像这样使用 ControllerAdvice 注释和 ModelAttribute 注释:

@ControllerAdvice
public class LayoutMenu {
    @ModelAttribute("foo")
    public String initMenu() {
        return "Hello Bar";
    }
}

这解决了我的问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-12-06
    • 2012-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-21
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多