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. 數據庫 - Mysql的存儲過程真的是個坑!求助下面的存儲過程哪里錯啦,實在是找不到哪里的問題了。2. php傳對應的id值為什么傳不了啊有木有大神會的看我下方截圖3. 如何用筆記本上的apache做微信開發的服務器4. python - linux怎么在每天的凌晨2點執行一次這個log.py文件5. 關于mysql聯合查詢一對多的顯示結果問題6. 冒昧問一下,我這php代碼哪里出錯了???7. windows誤人子弟啊8. mysql優化 - MySQL如何為配置表建立索引?9. MySQL主鍵沖突時的更新操作和替換操作在功能上有什么差別(如圖)10. 實現bing搜索工具urlAPI提交
