首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化

使用FTL标签时,应该有正确的嵌套,不是交叉使用,这和XML标签的用法完全一样.如果全用不存在的指令,FreeMarker不会使用模板输出,而是产生一个错误消息.FreeMarker会忽略FTL标签中的空白字符...,输出变量值,也支持字符串格式化输出和集合访问等功能. 4.3.1、直接指定值 使用直接指定值语法让FreeMarker直接输出插值中的值,不是输出变量值.直接指定值可以是字符串,数值,布尔值,集合和...FreeMarker的表达式对字符串操作非常灵活,可以将字符串常量和变量连接起来,也可以返回字符串的子串等.... 上面的语法格式中,sequence就是一个集合对象,也可以是一个表达式,但该表达式将返回一个集合对象,item是一个任意的名字,就是被迭代输出的集合元素.此外,迭代集合对象时,还包含两个特殊的循环变量...html} escape指令在解析模板时起作用不是在运行时起作用,除此之外,escape指令也嵌套使用,子escape继承父escape的规则,如下例子: <#escape x as x?

3.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

模板引擎——FreeMarker初体验

---- 1、概述 FreeMarker 是一款模板引擎:一种基于模板的、用来生成输出文本(任何来自于 HTML格式的文本用来自动生成源代码)的通用工具。...${person.name} 可以取得成员变量为person的name属性 FTL标记(FreeMarker模板语言标记):类似于HTML标记,为了与HTML标记区分 宏,自定义标签...注释 包含在(不是)之间 1.3 模板常用命令 1、if指令 :分支控制语句。...下面是常用的内建的字符串函数: 函数 说明 html html字符转义 cap_first 字符串的第一个字母变为大写形式 lower_case 字符串的小写形式 upper_case 字符串的大写形式...trim 去掉字符串首尾的空格 substring 截字符串 lenth 取长度 size 序列中元素的个数 int 数字的整数部分(比如- 1.9?

97520

FreeMarker模板开发指南知识点梳理

FreeMarker 是一款 模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。...其实所有内容都在freemarker手册:http://freemarker.org/docs/index.html 这里主要分为以下几个部分:模板开发指南+程序开发指南+模板语言参考+XML处理指南+...freemarker的最终页面输出   备注:这里的数据模型可以对比理解为页面中的DOM结构,不同的数据有不同的DOM层级关系,对于数据模型的访问也类似对于DOM元素的访问。...string("Y", "N") 基于 animal.protected 的布尔值来返回字符串 "Y" 或 "N"。 animal?...宏 的参数是局部变量不是循环变量。 全局变量:这是一个高级话题了, 并且这种变量最好别用。

1.5K90

模板引擎:第一章:FreeMarker

Freemarker模板引擎技术 ①概念 FreeMarker是一款模板引擎:即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页、电子邮件、配置文件、源代码等)的通用工具。...它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。FreeMarker是免费的,基于Apache许可证2.0版本发布。...模板文件和数据模型是模板视图技术用来生成HTML页面所必须的组成部分。...FreeMarker不仅仅应用于Web系统,也可以应用于Java系统,还能生成Java, XML等文件,所以应用面更广。使用时,需要在项目pom.xml文件中增加依赖关系。...html字符串进行HTML编码 s?cap_first 使字符串第一个字母大写 s?lower_case 将字符串转换成小写 s?trim 去掉字符串前后的空白字符 s?

74010

5 分钟,带你入门 FreeMarker 模板引擎!

----如果想要使用这套模板生成其他的代码,只需要改变参数的值即可,不需要改变模板文件。...模板FreeMarker 拥有自己的模板编写规则,一般用 FTL 表示 FreeMarker 模板语言。比如 myweb.html.ftl 就是一个 FreeMarker模板文件。...> 存在用户 用户不存在3、默认值FreeMarker 对变量的空值校验是很严格的,如果模板中某个对象为空,FreeMarker 将会报错导致模板生成中断。...示例代码如下: ${user}其中,users 是整个列表, user 是遍历列表每个元素时临时存储的变量,跟 for 循环一样,会依次输出每个...内建函数是 FreeMarker 非常强大的一个能力,比如想在循环语法中依次输出元素的下标,就可以使用循环表达式自带的 index 内建函数: ${user?

68210

重学SpringBoot系列之整合静态资源与模板引擎

更符合开发人员对于HTML的使用规范,将展示内容放在标签内,不是作为标签属性存在。...Freemarker作为页面模板引擎的核心能力在于,将以HTML为基础的模板中的相关语法占位符用数据进行填充,填充之后形成可以被浏览器渲染的HTML文件 ---- 整合 首先通过maven坐标的方式将freemarker...(其他内容如:HTML、webjars都不是本节需要关注的核心内容) <!...true 数值类型并且值不是 0, 返回 true 字符类型(Char)并且值不是 0, 返回 true String 类型并且值不是 “false”, “off”, “no”, 返回 true...不是 boolean, 数值, 字符, String 的其他类型, 返回 true 对象值是 null, 返回 false 如果想取反则使用unless 例如: <div th:unless="$

5.1K30

微服务架构Day03-SpringBoot之web开发配置

不是官方标准2. 使用范围小,第三方标签库较少3. 对jsp标签的支持不够友好 freemarker 1. 不编写Java代码,实现严格的MVC分离2. 性能非常好3. 对jsp标签支持良好4....使用表达式语言 - EL表达式 1.不是官方标准2. 使用范围小,第三方标签库较少 thymeleaf 1. 静态html嵌入标签属性,浏览器可以直接打开模板文件,便于后端联调2....需要加入js脚本 freemarker: freemarker是一个用Java语言编写的模板引擎,基于模板生成文本来输出 freemarker与Web容器无关,也就是说,在Web运行时,并不知道是Servlet...这个在建立 “宏库” 内置与Java语言无关的字符串,列表,Map的操作方法 能提示模版中的拼写错误以及其他错误 当访问一个不存在的变量时,freemarker在执行模版时会报错 通过配置,可以指定freemarker...- 改变当前元素里面的文本内容 th:任意html属性 - 改变原生属性的值 thymeleaf jsp 片段包含 th:insertth:replace include 遍历 th:each c:

87310

用这个技术生成代码,太简单了~

最近不是打算带大家做一个代码生成项目嘛,项目的第一阶段就是先做一个本地的代码生成器。代码生成器的核心功能就是根据用户输入的选项参数来生成不同的代码文件。...鱼皮 ----------- 如果想要使用这套模板生成其他的代码,只需要改变参数的值即可,不需要改变模板文件。...模板 FreeMarker 拥有自己的模板编写规则,一般用 FTL 表示 FreeMarker 模板语言。比如 myweb.html.ftl 就是一个 FreeMarker模板文件。...> 存在用户 用户不存在 3、默认值 FreeMarker 对变量的空值校验是很严格的,如果模板中某个对象为空,FreeMarker 将会报错导致模板生成中断。...示例代码如下: ${user} 其中,users 是整个列表, user 是遍历列表每个元素时临时存储的变量,跟 for 循环一样,

38630

FreeMarker与JSP 2.0 + JSTL组合进行比较

那么FreeMarker会知道你并不是用相同的符号表示运算符。这可以在您指定非引号标识符的地方,如宏和函数名称,参数名称以及所有类型的变量引用。(请注意,这些转义仅适用于标识符,不是字符串文字。)...不是,因为只包括另一个FreeMarker模板不涉及Servlet容器。...16.如何在FreeMarker模板中修改序列(列表)和哈希(映射)? 首先,您可能不想修改序列/散列,只需连接(添加)两个或更多的,这将导致新的序列/散列,不是修改现有的序列/散列。...,不是字符X? 这是因为您要打印的字符不能用输出流使用的字符集(编码)来表示,所以Java平台(不是FreeMarker)用问号替换有问题的字符。...HTML表单是编码问题的另一个潜在来源。最好在各个地方打印字符串字符的数字代码,以查看问题出现在哪里。

5.4K40

Freemarker在spring boot中的应用

1.Freemarker介绍 FreeMarker是一款 模板引擎:即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页,电子邮件,配置文件,源代码等)的通用工具。...它不是面向最终用户的,而是一个Java类库,是一款程序员可以嵌入他们所开发产品的组件。 模板编写为FreeMarkerTemplate Language (FTL)。...它是简单的,专用的语言, 不是 像PHP那样成熟的编程语言。 那就意味着要准备数据在真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。...FreeMarker最初的设计,是被用来在MVC模式的Web开发框架中生成HTML页面的,它没有被绑定到 Servlet或HTML或任意Web相关的东西上。它也可以用于非Web应用环境中。...Spring boot 返回字符串,不返回渲染页面 把@RestController替换为@Controller注解 @RestController注解表示返回的内容都是HTTP Content不会被模版引擎处理的

2.1K30

Spring Boot实战:模板引擎

>   大家可以看到,thymeleaf还是比较简单的,并且最大的特点就是的标签是作为HTML元素的属性存在的,也就是说,该页面是可以直接通过浏览器来预览的,只是没有数据而已,这个很方便大家进行调试。...model.addAttribute("list", list); return "article/articleList"; } }   注意,这里用的注解是@Controller,不是...@RestController,因为@RestController会自动将返回结果转为字符串。    ...模板文件: 文章列表 Freemarker 模板引擎 <...三、Sring boot与JSP集成:   在正式的项目开发中,现在已经极少用jsp模板了,所以Spring boot对jsp的支持也不是很好,因此配置起来比thymeleaf和Freemaker相对来说就更复杂一点

957130

Spring Boot实战:模板引擎

>   大家可以看到,thymeleaf还是比较简单的,并且最大的特点就是的标签是作为HTML元素的属性存在的,也就是说,该页面是可以直接通过浏览器来预览的,只是没有数据而已,这个很方便大家进行调试。...model.addAttribute("list", list); return "article/articleList"; } }   注意,这里用的注解是@Controller,不是...@RestController,因为@RestController会自动将返回结果转为字符串。    ...模板文件: 文章列表 Freemarker 模板引擎 <...三、Sring boot与JSP集成:   在正式的项目开发中,现在已经极少用jsp模板了,所以Spring boot对jsp的支持也不是很好,因此配置起来比thymeleaf和Freemaker相对来说就更复杂一点

94540

freemark页面静态化

网页静态化比较适合大规模且相对变化不太频繁的数据。...将网页以纯静态化的形式展现,就可以使用Nginx这样的高性能的web服务器来部署 Nginx可以承载5万的并发,Tomcat只有几百 Freemarker 什么是 Freemarker freemarker...模板 模板freemarker中是以.ftl为后缀名的文件, 在模板中可以使用html标签, css, js,图片等静态资源 模板中可以使用el表达式获取数据, 但是无法使用jstl标签来判断和循环...模板文件中四种元素 文本,直接输出的部分 注释,即格式不会输出 插值(Interpolation):即${…}部分,将使用数据模型中的部分替代输出 FTL指令:FreeMarker指令,和...size} 个元素 转换JSON字符串为对象 <#assign data=text?

20210

深入Spring Boot (九):Web应用统一异常处理

当使用Postman等调试工具发送请求请求一个不存在的url或服务端处理发生异常时,Spring Boot会返回类似如下的Json格式字符串信息: { "timestamp": "2018-03...等调试工具发送请求时,默认情况下请求头中没有Accept信息,所以请求进入error方法处理,Spring Boot会返回一个Json格式的错误信息字符串,具体代码如下图所示。...exception的页面, //例如使用freemarker并且模板文件后缀为.html,最终页面显示的是exception.html @ExceptionHandler(value =...错误页面可以是静态HTML,也可以是使用模板构建的文件,例如freemarker,文件的名称必须是确切的状态码。...例如使用freemarker模板引擎,并且模板后缀名为.html,可以有如下自定义错误页面。 ?

1.3K80

Spring Boot 最佳实践(三)模板引擎FreeMarker集成

一、FreeMaker介绍 FreeMarker是一款免费的Java模板引擎,是一种基于模板和数据生成文本(HMLT、电子邮件、配置文件、源代码等)的工具,它不是面向最终用户的,而是一款程序员使用的组件...替换模板中的标签,生成最终的HTML返回给用户,如下图: ?...html”语法解析 单问号后面跟的是操作函数,类似于Java中的方法名,html属于内建函数的一个,表示字符串会按照HTML标记输出,字符替换规则如下: < 替换为 < > 替换为 > &...lower_case} 输出: adam ADAM Adam adam 更多的字符串内建函数:https://freemarker.apache.org/docs/ref_builtins_string.html...String text/html text/html content-type类型 spring.freemarker.suffix String .ftl .ftl 模板后缀 spring.freemarker.expose-request-attributes

2.9K40

FreeMarket模板引擎快速入门【面试+工作】

FreeMarket模板引擎快速入门【面试+工作】 FreeMarker 快速入门 FreeMarker是一个很值得去学习的模版引擎。它是基于模板文件生成其他文本的通用工具。...本章内容通过如何使用FreeMarker生成Html web 页面 和 代码自动生成工具来快速了解FreeMarker。...1 简介 FreeMarker是一款用java语言编写的模版引擎,它虽然不是web应用框架,但它很合适作为web应用框架的一个组件。...html: 对字符串进行HTML编码; cap_first: 使字符串第一个字母大写; lower_case: 将字符串转成小写; upper_case: 将字符串转成大写; size: 获得集合中元素的个数...5 FreeMarker的宏概念,命名空间,引入文件,给变量赋值,集合的遍历等。 6 Freemarker 整合SpringMVC。 到这里FreeMarker的入门就结束了,是不是很简单。

96560
领券