1.模板+数据模型=输出 一个简单的HTML页面:<html>
<head>
<title>Welcome!</title>
</head>
<body>
<h1>Welcome Beijing!<h1>
<p>Hello World!:
<a href="ab
FreeMarker最强大之处莫过于它的自定义指令了首先是我们自定义的工具类FreeMarkerUtil.javapackage com.jadyer.util;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
impo
转载
2024-02-29 14:46:48
96阅读
自定义指令可以使用 macro 指令来定义, 这是模板设计者所关心的内容。 Java程序员若不想在模板中实现定义指令,而是在Java语言中实现指令的定义, 这时可以使用 freemarker.template.TemplateDirectiveModel 类来扩展。1 基本内容宏是有一个变量名的模板片段。可以在模板中使用宏作为自定义指令, 这样就能进行重复性的工作。例如,创建一个宏变量来输出大字号
freemarker之模板开发(其它之在模板中定义变量)----------模板可以使用在数据模型中定义的变量。在数据模型之外,模板本身也可以定义变量来使用。这些临时变量可以适应FTL指令来创建和替换。要注意每一次模板执行时都维护它自己的这些变量的私有设置,这些变量是在页面用以呈现信息的。变量的初始值是空,当模板执行结束这些变量便被销毁了。你可以访问一个在模板里定义的变量,就像是访问数据模型根上的
1:自定义指令
Page Contents
基本内容参数嵌套内容宏和循环变量自定义指令和宏进阶 自定义指令可以使用 macro 指令来定义, 这是模板设计者所关心的内容。 Java程序员若不想在模板中实现定义指令,而是在Java语言中实现指令的定义, 这时可以使用 freemarker.template.TemplateD
3.2
输出变量值
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
FreeMarker
的表达式输出变量时
,
这些变量可以是顶层变量
,
也可以是
Map
对象中的变
包含文件 <a href="${latestProduct.url}">${latestProduct.name}</a> 基本语法
${
...}:FreeMarker将会输出真实的值来替换大括号内的表达式,这样的表达式被称为interpolation(插值)。
注释:注释和HTML的注释也很相似,但是它们使用<#-- a
FreeMarker语言FreeMarker语言概述FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具,使用纯Java编写。 FreeMarker被设计用来生成HTML Web页面,特别是基于MVC模式的应用程序 虽然FreeMarker具有一些编程的能力,但通常由Java程序准备要显示的数据,由FreeMarker生成页面,通过模板显示准备的数据(如下图) >Fre
在模板中能够定义三种类型的变量:
简单变量:它能从模板中的不论什么位置来訪问,或者从使用 include 指令引入的模板訪问。
能够使用 assign 或 macro 指令来创建或替换这些变量。
局部变量:它们仅仅能被设置在宏定义体内,并且仅仅在宏内可见。一个局部变量的生存周期仅仅是宏的调用过程。能够使用 local 指令在宏定义体内创建或替换局部变量。
循环变量:循环变量是由指令(如 li
转载
2016-01-05 18:16:00
505阅读
2评论
Freemarker技术的特点:1,首先就是访问速度,不需要去访问数据库,或者缓存来获取哪些数据,浏览器直接加载渲染html页即可。所以可以大大的提高访问效率; 2,从网站优化来分析,搜索引擎更喜欢静态的网页,静态网页与动态网页相比,搜索引擎更喜欢静的,更便于抓取,搜索引擎SEO排名更容易提高。 3,从安全角度讲,静态网页不宜
转载
2024-03-28 04:37:43
22阅读
FreeMarker 跟 Thymeleaf 一样,是一种模板引擎,他可以无缝兼容 FreeMarker 在 Spring Boot 开发者中仍然有着很高的地位。本章重点内容编写一个最简单的 Freemark 模板示例简单说明 FreeMarker1 FreeMarker 简介相对于 Jsp ,FreeMarker 具有太多的优势。FreeMarker 适合 Mvc 场景。FreeMarker 最
转载
2024-03-28 18:42:44
54阅读
1 简介自定义指令可以使用 macro 指令来定义,这是模板设计者所关心的内容。 Java 程序员若不想在模板中实 现定义指令 ,而是在 Java 语言中实现指令 的定义,这时 可以使用freemarker.template.TemplateDirectiveModel 类来扩展2 基本内容macro 指令自身不打印任何内容,它只是用来创建宏变量,所以就会有一个名为greet 的变量。在 <
自定义指令可以使用,Marco指令来进行定义 宏 是有一个变量名的模板片段,在模板中使用宏作为自定义指令,这样就能供其他页面使用。 <#macro greet>
<font size="+2">Hello Joe!</font>
</#macro> macro 指令只是用来创建宏变量,自身不输出任何内容,
在模板中定义的变量有三种类型:
引用
1:plain变量:可以在模板的任何地方访问,包括使用include指令插入的模板,使用assign指令创建和替换。
2:局部变量:在宏定义体中有效,使用local指令创建和替换。
3:循环变量:只能存在于指令的嵌套内容,由指令(如list)自动创建;宏的参数是局部变量,而不是循环变量
1 简单介绍自己定义指令能够使用 macro 指令来定义,这是模板设计者所关心的内容。 Java 程序猿若不想在模板中实 现定义指令 ,而是在 Java 语言中实现指令 的定义,这时 能够使用freemarker.template.TemplateDirectiveModel 类来扩展2 基本内容macro 指令自身不打印不论什么内容,它仅仅是用来创建宏变量,所以就会有一个名为greet 的变量。
FreeMarker梳理组成: 1.文本:直接输出的部分
2.注释:<#-- ... -->
3.值:即${...}、#{...}
4.FTL指令: 开始标签 <#directivename parameter> 结束标签 </#directivename>
空标签
FreeMarker
模板 + 数据模型 = 输出将HTML静态页面中的内容用${...}代替,数据是在FreeMarker之外准备的数据模型:可以被看作是树形结构
哈希表:扮演目录的角色,它用于存储其他变量,通过名称来查找。一种存储变量及其相关且有唯一标识名称的容器。标量:存储单值的变量。可以是字符串,数字,日期/时间或者布尔值。序列:像哈希表那样存储子变量,但
转载
2024-04-02 16:36:32
92阅读
配置对象Configuration配置就是在对象中存储常用(应用级别)的设置和定义某些想在所有模板中可用的变量。它们也会处理 Template 实例的创建和缓存操作。配置对象是 freemarker.template.Configuration 的实例,可以通过构造方法来创建它。一个应用程序通常只使用一个共享的Configuration实例。配置对象通过Template的方法来使用,特别是通过pr
转载
2024-03-21 12:00:22
94阅读
前言之前在集成mybatis plus的时候有稍微写了下代码生成器的用法,现在这边稍微调整和优化一下,让后面生成基本的接口代码更加的方便,减少工作量啊,偷懒果然是爽啊。实现模板支持mybatis plus的代码生成器是需要模板引擎的,默认使用的是velocity模板,项目里也已经引用了。<!-- 模板引擎 -->
<dependency>
<groupId>o
---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar?
转载
2021-03-27 10:45:27
1133阅读
2评论