java - freemarker如何實(shí)現(xiàn)這種賊簡單的效果
問題描述
模板
<!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>
頁面調(diào)用
<#include '/layout/master.ftl' /><@script>var a=1;</@script>
結(jié)果生成的頁面,這句var a=1;跑到了</html>后面,也就是模板的最后面,并沒有出現(xiàn)在模板對應(yīng)的位置。
本人搞了幾年.net,感覺這種模板要出我的效果應(yīng)該是理所當(dāng)然的。但是在java上,貌似要實(shí)現(xiàn)我預(yù)料中的效果,不容易?
問題解答
回答1:freemarker不是基于layout的,它只是做表達(dá)式求值和文本替換,是不能滿足你的要求的。
據(jù)我所知:
Struts配合Tiles插件可以達(dá)到你要的layout效果。
Thymeleaf配合thymeleaf-layout-dialect也可以達(dá)到你要的效果。
回答2:宏的用法不對,可以參考下面
<!-- 定義宏用 <#macro macroName parameterList> --><#macro list title items> <p>${title?cap_first}: <ul><#list items as item><li>${item}</#list> </ul></#macro><!-- 調(diào)用宏用 <@macroName arguments> --><@list items=animals/>
相關(guān)文章:
1. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)2. html按鍵開關(guān)如何提交我想需要的值到數(shù)據(jù)庫3. gvim - 誰有vim里CSS的Indent文件, 能縮進(jìn)@media里面的4. Android中能不能判斷一個(gè)數(shù)據(jù)庫是create來的,還是open來的?5. HTML 5輸入框只能輸入漢字、字母、數(shù)字、標(biāo)點(diǎn)符號(hào)?正則如何寫?6. javascript - 請教如何獲取百度貼吧新增的兩個(gè)加密參數(shù)7. 跟著課件一模一樣的操作使用tp6,出現(xiàn)了錯(cuò)誤8. PHP類屬性聲明?9. javascript - 求助canvas繪制馬賽克的問題,老是取色不準(zhǔn)10. html - 微信瀏覽器h5<video>標(biāo)簽問題
