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怎么通过数组显示sql查询结果呢,查询结果有多条,如图。2. python - Scrapy的使用,如何请求新的URL,并回调指定的函数?3. 网页爬虫 - python requests爬虫问题4. python - 通过电影名称获取视频地址5. python - TypeError: printBB() takes 0 positional arguments but6. 请问一下关联表查询如何操作?7. javascript - 如图,百度首页,查看源代码为什么什么都没有?8. mysql - 如何在ubuntu 安裝環境?9. python - celery beat 调度如何运行期间动态添加任务?10. linux - 阿里云服务器上的mysql服务在客户端只能通过ssh证书连接后才能使用

网公网安备