java - freemarker如何實現這種賊簡單的效果
問題描述
模板
<!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上,貌似要實現我預料中的效果,不容易?
問題解答
回答1:freemarker不是基于layout的,它只是做表達式求值和文本替換,是不能滿足你的要求的。
據我所知:
Struts配合Tiles插件可以達到你要的layout效果。
Thymeleaf配合thymeleaf-layout-dialect也可以達到你要的效果。
回答2:宏的用法不對,可以參考下面
<!-- 定義宏用 <#macro macroName parameterList> --><#macro list title items> <p>${title?cap_first}: <ul><#list items as item><li>${item}</#list> </ul></#macro><!-- 調用宏用 <@macroName arguments> --><@list items=animals/>
相關文章:
1. html5 - datatables 加載不出來數據。2. node.js - mongodb查找子對象的名稱為某個值的對象的方法3. 測試自動化html元素選擇器元素ID或DataAttribute [關閉]4. html5和Flash對抗是什么情況?5. 利用IPMI遠程安裝centos報錯!6. javascript - QQ第三方登錄的問題7. 在mac下出現了兩個docker環境8. 運行python程序時出現“應用程序發生異常”的內存錯誤?9. spring-mvc - spring-session-redis HttpSessionListener失效10. 正在使用electron和node.js做桌面應用,需要實時監聽是否有網絡連接,node或者electron是否可以做到

網公網安備