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

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

需要加入js脚本 freemarker: freemarker是一个用Java语言编写的模板引擎,基于模板生成文本来输出 freemarker与Web容器无关,也就是说,Web运行时,并不知道是Servlet...velocity的做法使得velocity的模版中大量的与Java对象交互,违背了简单的原则,尽管也可以将代码转入控制器实现 freemarker能做到,而velocity无法做到的: 日期和数字的支持...这个在建立 “宏库” 内置与Java语言无关的字符串,列表,Map的操作方法 能提示模版的拼写错误以及其他错误 当访问一个不存在的变量时,freemarker执行模版时会报错 通过配置,可以指定freemarker...发生此类错误时停止执行,还是忽略该错误,同时freemarker会在日志记录此问题 输入错误的指令名称,freemarker将抛出一个异常 更高级的文本输出工具: 将模版块封装在一组标记,这样可以应用...也可以实现自定义的转换器,即如果生成Java源代码,则可以编写Java代码pretty-printer转换并插入到模版.同时转换也可以嵌套 使用内置的flush-directive显式刷新输出写入器

87610

第7章 Spring Boot集成模板引擎小结

MVC模式,模板引擎的工作原理基本一样,比如说以freemarker为例,如下图: ?...JSP实现了Html语法的java扩展(以 形式)。它是传统的网页HTML文件插入Java程序段和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。...相对于编写逻辑或代码,开发者只需将标签属性添加到模板即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。...通用数据模型   FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式模板显示。   ...模板清楚和直接的访问XML对象模型 。 与JSP相比,FreeMarker的一个优点在于不能轻易突破模板语言开始编写Java代码,因此降低了领域逻辑漏进视图层的危险几率。

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

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

我们都知道,JSP第一次执行的时候需要转换成Servlet类,开发阶段进行功能调适时,需要频繁的修改JSP,每次修改都要编译和转换,那么试想一天我们浪费程序编译的时间有多少。...一般对FreeMarker第一印象是用来替代JSP的,但是与JSP 不同的是FreeMarker 模板可以 Servlet容器之外使用。可以使用它们来生成电子邮件、 配置文件、 XML 映射等。...Freemarker作为页面模板引擎的核心能力在于,将以HTML为基础的模板的相关语法占位符用数据进行填充,填充之后形成可以被浏览器渲染的HTML文件 ---- 整合 首先通过maven坐标的方式将freemarker...#messages:变量表达式获取外部消息的方法,与使用#{…}语法获取的方法相同。 #uris:转义部分URL / URI的方法。...即可以一个html页面内定义多个片段. ~{ ::selector}表示在当前html页查找代码片段 ---- 多种片段组合方式 实际使用,我们往往使用更简洁的表达,去掉表达式外壳直接填写片段名

5.1K30

【基本功】 前端安全系列之一:如何防止XSS攻击?

注意特殊的 HTML 属性、JavaScript API 自从上次事件之后,小明会小心的把插入到页面的数据进行转义。而且他还发现了大部分模板都带有的转义配置,让所有插入到页面的数据都默认进行转义。...在内联的 JavaScript ,拼接的数据突破了原本的限制(字符串,变量,方法名等)。 标签属性,恶意内容包含引号,从而突破属性值的限制,注入其他属性或者标签。...标签的 href、src 等属性,包含 javascript: 等可执行代码。 onload、onerror、onclick 等事件,注入不受控制代码。... style 属性和标签,包含类似 expression(...) 的 CSS 表达式代码(新版本浏览器已经可以防范)。...data } 而不是 {{= data }; FreeMarker ,确保引擎版本高于 2.3.24,并且选择正确的 freemarker.core.OutputFormat。

5.4K12

Spring Boot 快速入门系列(II)—— 数据操作篇之 Spring Data JPA

属性配置篇),我们已经学习和了解如何通过 IDEA 完成一个简单化轻量级的后端服务项目搭建,以及如何使用 application.properties 文件和读取配置文件内容的几种方式等,今天我们就来演示一下通过...的sql更新操作语句显示 spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true 注:上面这种 properties 形式的配置有点冗余...", gameName='" + gameName + '\'' + '}'; } } 3)Mac 系统下启动 MySQL 数据库服务步骤(系统偏好设置...注:此时表 t_game 无数据。 7)下面我们开始使用 Spring Data JPA 来实现数据库的 CRUD 操作,视图层采用 Freemarker 模板实现。...先添加 Freemarker 依赖如下: org.springframework.boot spring-boot-starter-freemarker

1.2K40

Spring Boot 与 Kotlin使用Freemarker模板引擎渲染web视图

《Spring Boot 与 Kotlin 使用Thymeleaf模板引擎渲染web视图》一文,我们使用Thymeleaf模板引擎渲染web视图,体验了kotlin 与spring boot结合是相当好的...需要准备数据真实编程语言中来显示,比如数据库查询和业务运算, 之后模板显示已经准备好的数据。模板,主要用于如何展现数据, 而在模板之外注意于要展示什么数据 。 基本语法: ${...}...不像HTML注释那样,FTL注释不会出现在输出(不出现在访问者的页面),因为FreeMarker会跳过它们。...FTL标签(FreeMarker模板的语言标签):FTL标签和HTML标签有一些相似之处,但是它们是FreeMarker的指令,是不会在输出打印的。这些标签的名字以#开头。...,用来模板读取 model.addAttribute("host", "http://quanke.name") // return模板文件的名称,对应src/main

1.1K20

WordPress文章插入或编辑链接增加Nofollow属性设置

网站 SEO 优化很重要的可能就是权重,而链接就是传递权重的一种方式,但是由于网站并非信息孤岛,所以有时候我们对于内容的分享来说可能需要推荐别人的网站,所以内容中就需要涉及到插入外链,而 WordPress...其实网上有很多的方法教程直接对文章内容的外链统一设置 nofollow 属性,高级一点的还可以设置外链白名单,可是子凡总觉得这还并不是最完美的,虽然变得自能自动了,但是有些时候我们可能发布一篇软文,单独的只是推荐了一个外链...,添加白名单呢又显得冗余,所以子凡还是喜欢编辑文章的时候统一编辑时把控最佳。...关于 WordPress 文章插入或编辑链接增加 Nofollow 属性设置的实现代码教程如下,将代码添加到当前 WordPress 主题的 functions.php 文件的合适位置即可。...另外代码画蛇添足的增加了一个直接进入链接编辑框的功能,因为 WordPress 经典编辑器点击插入链接按钮会出现一个快速插入链接的输入框,大多情况并不是很实用,所以直接跳过了这一步骤。

702100

开源数据库框架greenDAO

但是使用过程感觉很繁琐,从建表到对表的增删改查等操作,如果表对象的属性很多,就需要使用大量的代码来执行建表、插入等。...代码执行还需要对数据库和游标的进行及时关闭(开启使用,用完关闭),而且还需要部分sql语言,这在开发中产生bug进行调试时尤其不方便。...at freemarker.template.Configuration.getTemplate(Configuration.java:742) at freemarker.template.Configuration.getTemplate...例如在数据库方面的表名和列名都来源于实体类名和属性名。默认的数据库名称是大写使用下划线分隔单词,而不是Java中使用的驼峰式大小写风格。...、修改 插入数据更加简单,也是只要一句代码便能搞定!

2.2K50

快速学习Freemarker-基本使用

配置实例 Configuration cfg = new Configuration(); //2.设置模板加载器:开始加载模板,并且把模板加载缓存...{…}或者#{…}格式的部分,将使用数据模型的部分替代输出 FTL指令:FreeMarker指令,和HTML标记类似,名字前加#予以区分,不会输出。...2.4.3 模板的常用标签 FreeMarker模板可以包括下面几个特定部分: ${…}:称为interpolations,FreeMarker会在输出时用实际值进行替代。...${person.name}可以取得成员变量为person的name属性 :FTL标记(FreeMarker模板语言标记):类似于HTML标记,为了与HTML标记区分 :宏,自定义标签 注释...`在这里插入代码片` list、break指令 list指令时一个典型的迭代输出指令,用于迭代输出数据模型的集合

92620
领券