我正在尝试使用spring boot和freemarker构建一个应用程序作为模板引擎。我遇到的问题是,我想制作一个"主模板"用于我的所有页面。我发现这可以通过带有宏的Freemarker实现。这就是我的indexmaster.ftl的样子:
[#macro indexmaster title="defaultTitle"]
<html>
<head> css stuff </head>
<body>
<div id="content">[#nested /]</div>
</body>
</html>
[/#macro]
在其他页面中,我使用这样的宏:
[#import "/WEB-INF/ftl/master/indexmaster.ftl" as layout /]
[@layout.indexmaster title="My title"]
...rest of the page
[/@layout.indexmaster]
我面临的问题是,freemarker&#34; code&#34;在我访问页面时被解释为文本
我做错了什么?是否需要额外的弹簧靴配置?
答案 0 :(得分:1)
使用“&lt;&gt;”而不是Freemarker标签的“[]”。
答案 1 :(得分:1)
您需要将FreeMarker的tag_syntax
配置设置设为auto_detect
或square_bracket
。为了向后兼容,默认值为angle_bracket
。另一个选项是使用[#ftl]
启动模板,即使tag_syntax
为angle_bracket
,也会启用方括号语法。