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. [前端求職必看]前端開發面試題與答案精選_擴展問題2. javascript - 在top.jsp點擊退出按鈕后,right.jsp進行頁面跳轉,跳轉到login.jsp3. javascript - 下面的這段算法代碼求解釋4. mac連接阿里云docker集群,已經卡了2天了,求問?5. css3 - 在sublime text里, 如何讓emmet生成的帶前綴css屬性垂直對齊?6. javascript - js 有什么優雅的辦法實現在同時打開的兩個標簽頁間相互通信?7. java - spring-data Jpa 不需要執行save 語句,Set字段就可以自動執行保存的方法?求解8. android - 哪位大神知道java后臺的api接口的對象傳到前端后輸入日期報錯,是什么情況?求大神指點9. javascript - angular中如何創建一個能被不同模塊中組件都能訪問其屬性和方法的對象10. 想找個php大神仿個網站。
