Vorlage
<!DOCTYPE html>
<html>
<head>
<#include "baseHeader.html" />
<#macro head ><#nested></#macro>
<#macro style ><#nested></#macro>
</head>
<body>
<#macro content >
<#nested>
</#macro>
</body>
<#macro script >
<#nested>
</#macro>
</html>
Seitenaufruf
<#include "/layout/master.ftl" />
<@script>var a=1;</@script>
In der dadurch generierten Seite erscheinen die Wörter dahinter var a=1;
跑到了</html>
, also am Ende der Vorlage, nicht an der entsprechenden Position der Vorlage.
Ich mache das schon seit mehreren Jahren.net
,感觉这种模板要出我的效果应该是理所当然的。
但是在java
und es scheint, dass es nicht einfach ist, die erwarteten Ergebnisse zu erzielen?
freemarker不是基于layout的,它只是做表达式求值和文本替换,是不能满足你的要求的。
据我所知:
Struts配合Tiles插件可以达到你要的layout效果。
Thymeleaf配合thymeleaf-layout-dialect也可以达到你要的效果。
宏的用法不对,可以参考下面