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. php - mysql 模糊搜索問題2. [python2]local variable referenced before assignment問題3. javascript - 在 vue里面用import引入js文件,結果為undefined4. php工具箱配置第二個vhost主機時不生效,報錯You don’t have permission5. 求救一下,用新版的phpstudy,數據庫過段時間會消失是什么情況?6. javascript - 我的站點貌似被別人克隆了, google 搜索特定文章,除了域名不一樣,其他的都一樣,如何解決?7. javascript - js setTimeout在雙重for循環中如何使用?8. php - 微信開發驗證服務器有效性9. javascript - 求幫助 , ATOM不顯示界面!!!!10. html - 爬蟲時出現“DNS lookup failed”,打開網頁卻沒問題,這是什么情況?
