1. Freemarker中的宏,可以看成Java中的方法,语法如下:
定义: <#macro print msg_m=123> <h3>测试宏的内容,消息:${msg_m}</h3> <#nested> </#macro> 调用: <@print msg_m="Hello">可有可无的内容</@print>
(1).其中参数msg_m,由于宏定义时有默认值,调用宏时可以不指定其值;
(2).<#nested>表示输出调用宏时标签<@print>和</@print>之间的内容,可以重复;
(3).msg_m参数不是必须定义的,如果定义了,调用时应该指定值或者定义默认值,调用时也不能传没定义的参数;
(4).结束标识也可写为:</@>
2.宏中嵌套的内容(nested模板)也可以接收参数,如下面就是一个遍历宏,给<#nested>的内容传入循环变量和循环索引值:
<#macro loop col> <#local max=col?size-1> <#list 0..max as idx> <#nested col[idx],idx> </#list> </#macro> 调用 <@loop col=master.managers;item,index> ${index+1}. ${item} </@loop> #list函数也可以取得索引,上面例子只是为了说明如何取得给<#nested>模板传值 <#list master.managers as item> ${item_index+1}. ${item} </#list>
3.关于变量
(1).macro宏中的局部变量使用#local
(2).普通变量使用#assign
(3).循环变量如#list users as usr中间的usr
(4).变量作用域重叠时,作用域小的会覆盖作用域更大的,不过也有特殊,如:要访问数据模型中的msg,页面也定义了一个局部变量msg,那么可以使用${.globals.msg}访问
4.命名空间
定义:
<#inport "/lib/header.ftl" as head> ${head.username} <#assign username="King" in head> ${head.username}assign修改的是命名空间中的变量值
相关推荐
常用web开发基础,包括html,js,jquery,freemarker等相关知识点
项目说明:本博客是学习过程中建造的项目,为了融合更多知识点,让博客看起来更加高大上,使用了多个框架组合,有些也是企业级项目中常用的解决方式。多内容内容的,通常是xss攻击预防等安全方面的。项目结构: e...
本开发手册会详细阐述如何在JessMA中整合FreeMarker、Velocity、UrlRewrite、EHCache-Web、Spring、Hibernate和MyBaits等常用框架和组件。 4) 高性能:性能要求是JessMA的硬性指标,从每个模块的设计到每行代码的...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
本博客是学习过程中搭建的项目,为了融合更多知识点,让博客看起来更加高大上,使用了多个框架组合,有些也是企业级项目中常用的解决方式。不够说实话,还有挺多内容缺少的,比如xss攻击预防等安全方面的。 项目结构...
8.3.2 FreemarkerResult,也叫做freemarker 191 8.4 全局结果 192 8.5 小结 193 第四部分 完善应用程序 第9章 集成Spring和Hibernate/JPA 196 9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 ...
本课程从springboot演变开始讲解。内容包括基础配置、常用注解、过滤器、模板、数据库ORM集成、等全方位知识。 学员可以由浅入深的全方位学习。
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...