模板
<!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>
頁面呼叫
<#include "/layout/master.ftl" />
<@script>var a=1;</@script>
結果產生的頁面,這句var a=1;
跑到了</html>
後面,也就是模板的最後面,並沒有出現在模板對應的位置。
本人搞了幾年.net
,感覺這種模板要出我的效果應該是理所當然的。
但是在java
上,似乎要實現我預料中的效果,不容易?
freemarker不是基於layout的,它只是做表達式求值和文字替換,是不能滿足你的要求的。
據我所知:
Struts配合Tiles外掛可以達到你要的layout效果。
Thymeleaf配合thymeleaf-layout-dialect也可以達到你要的效果。
宏的用法不對,可以參考下面