需要加入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显式刷新输出写入器
在MVC模式中,模板引擎的工作原理基本一样,比如说以freemarker为例,如下图: ?...JSP实现了Html语法中的java扩展(以 形式)。它是在传统的网页HTML文件中插入Java程序段和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。...相对于编写逻辑或代码,开发者只需将标签属性添加到模板中即可。接下来,这些标签属性就会在DOM(文档对象模型)上执行预先制定好的逻辑。...通用数据模型 FreeMarker不是直接反射到Java对象,Java对象通过插件式对象封装,以变量方式在模板中显示。 ...在模板中清楚和直接的访问XML对象模型 。 与JSP相比,FreeMarker的一个优点在于不能轻易突破模板语言开始编写Java代码,因此降低了领域逻辑漏进视图层的危险几率。
include指令: 使用 include 指令, 我们可以在模板中插入其他文件的内容。 假设要在一些页面中显示版权声明的信息。...那么可以创建一个文件来单独包含这些版权声明, 之后在需要它的地方插入即可。...比方说,我们可以将版权信息单独存放在页面文件 copyright_footer.html 中: Copyright (c) 2000 <a href="http://www.acmee.com...join(", ") 通过连接所有项,将列表转换为字符串, 在每个项之间插入参数分隔符(比如 "orange,banana") user?...FTL 标签:FTL标签和HTML标签很相似,但是它们却是给FreeMarker的指示, 而且不会打印在输出内容中。
我们都知道,JSP在第一次执行的时候需要转换成Servlet类,开发阶段进行功能调适时,需要频繁的修改JSP,每次修改都要编译和转换,那么试想一天中我们浪费在程序编译的时间有多少。...一般对FreeMarker第一印象是用来替代JSP的,但是与JSP 不同的是FreeMarker 模板可以在 Servlet容器之外使用。可以使用它们来生成电子邮件、 配置文件、 XML 映射等。...Freemarker作为页面模板引擎的核心能力在于,将以HTML为基础的模板中的相关语法占位符用数据进行填充,填充之后形成可以被浏览器渲染的HTML文件 ---- 整合 首先通过maven坐标的方式将freemarker...#messages:在变量表达式中获取外部消息的方法,与使用#{…}语法获取的方法相同。 #uris:转义部分URL / URI的方法。...即可以在一个html页面内定义多个片段. ~{ ::selector}表示在当前html页查找代码片段 ---- 多种片段组合方式 在实际使用中,我们往往使用更简洁的表达,去掉表达式外壳直接填写片段名
部分,freemarker会用真实的值代替${..}Hello ${name} 3、FTL指令:和HTML标记类似,名字前加#予以区分,Freemarker会解析标签中的表达式或逻辑。...我是一个普通的文本集合指令(List和Map)1、数据模型:在HelloController中新增如下方法:@GetMapping("/list")public...通过map.keyname.property输出stu2的学生信息:姓名:年龄:遍历map中两个学生信息: = date2?
注意特殊的 HTML 属性、JavaScript API 自从上次事件之后,小明会小心的把插入到页面中的数据进行转义。而且他还发现了大部分模板都带有的转义配置,让所有插入到页面中的数据都默认进行转义。...在内联的 JavaScript 中,拼接的数据突破了原本的限制(字符串,变量,方法名等)。 在标签属性中,恶意内容包含引号,从而突破属性值的限制,注入其他属性或者标签。...在标签的 href、src 等属性中,包含 javascript: 等可执行代码。 在 onload、onerror、onclick 等事件中,注入不受控制代码。...在 style 属性和标签中,包含类似 expression(...) 的 CSS 表达式代码(新版本浏览器已经可以防范)。...data } 而不是 {{= data }; 在 FreeMarker 中,确保引擎版本高于 2.3.24,并且选择正确的 freemarker.core.OutputFormat。
属性配置篇),我们已经学习和了解如何通过 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
PDF文档的开源Java库,能够动态的从XML或者数据库生成PDF,同时还可以对文档进行加密,权限控制,并且还支持Java/C#等,但是iText本身提供的HTML解析器还是不够强大,许多HTML标签和属性无法识别...最终解决方案定为: flying-saucer + iText + Freemarker。 具体实现 流程如下 ? ... freemarker 2.3.20...* * @param template * the name of freemarker teamlate...., 工程中存在多个版本, 而本博客对应的是版本4; 4、推荐将SIMSUN.TTC放到工程中, 这就不依赖操作系统了, 可移植性更强; 参考 获取java项目根目录 freemarker+Flying
org.springframework.web.servlet.view 包中, View 视图实现有常见的:JSON 、FreeMarker 等。...在 web.xml 配置 DispatcherServlet,用于截获并处理所有请求 2. 在 Spring MVC 配置文件中,声明预定义的控制器和视图解析器等 3....编写预定义的视图对象,比如 JSP、Freemarker 等 在 Spring Boot MVC 中,Web 自动化配置会帮你减少上面的两个步骤。...最后赋予给处理方法相应的入参 @ModelAttribute 注解添加一个或多个属性(类对象)到 model 上。...三、小结 本文主要介绍了 Spring Boot 在 Web 开发中涉及到的 HTTP 协议,还有一些 Spring MVC 相关的知识。
org.springframework.web.servlet.view 包中, View 视图实现有常见的:JSON 、FreeMarker 等。...在 web.xml 配置 DispatcherServlet,用于截获并处理所有请求 2. 在 Spring MVC 配置文件中,声明预定义的控制器和视图解析器等 3....编写预定义的视图对象,比如 JSP、Freemarker 等 在 Spring Boot MVC 中,Web 自动化配置会帮你减少上面的两个步骤。...最后赋予给处理方法相应的入参 @ModelAttribute 注解添加一个或多个属性(类对象)到 model 上。...小结 本文主要介绍了 Spring Boot 在 Web 开发中涉及到的 HTTP 协议,还有一些 Spring MVC 相关的知识。
中添加如下内容: spring.freemarker.allow-request-override=false spring.freemarker.cache=true spring.freemarker.check-template-location...=false spring.freemarker.prefix= spring.freemarker.suffix=.ftl Freemarker 案例演示 在 controller 包中创建 FreemarkerController...hello"; } } 在 templates 目录中创建名为 hello.ftl 文件,内容如下: <!...整合 Thymeleaf 添加 Thymeleaf 依赖 在 pom.xml 文件中添加: org.springframework.boot</groupId...Thymeleaf 案例演示 在 controller 包中创建 ThymeleafController: @Controller @RequestMapping("thymeleaf") public
在《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
这个方法是说明了为什么在ftl中可以使用一些java方法 1.代码展示 public static Configuration makeConfiguration...* 一个Configuration实例是存储FreeMarker应用程序级别设置的中心。...: * #import "/lib/example.ftl" as e * * 属性文件中的模板就是通过这种方式加载进去...* 所以在调用的时候需要加入命令空间 * */ newConfig.setAutoImports(UtilProperties.getProperties...security, userLogin, ofbizServerName, "main")> 2.2StringUtil <link rel="shortcut icon" href
-- freemarker中必须依赖spring-context-support --> org.springframework <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer...-- 2.定义模板<em>属性</em> --> <bean class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer"...="true" /> 4.测试 在WEB-INF...数字格式化插入 数字格式化插值可采用#{expr;format}形式来格式化数字,其中format可以是: mX:小数部分最小X位 MX:小数部分最大X位 <#assign
=/WEB-INF/view spring.freemarker.cache=false spring.freemarker.charset=UTF-8 spring.freemarker.check-template-location...====== log ============================= logging.config=classpath:logback-boot.xml #修改默认HTTP编码,之前是在web.xml...配置监控统计拦截的filters,去掉后监控界面sql无法统计,'wall'用于防火墙 spring.druid.filters=stat,wall,log4j # 通过connectProperties属性来打开...} user.setPassword("123456"); userService.save(user); return "redirect:/index"; } } 11.view文件夹中的...="delete/"+id; } } function detail(id){ window.location.href="detail/"+id; } function add(){ window.location.href
一、FreeMarker模板引擎 Spring Boot支持FreeMarker模板引擎,它是在Spring MVC基础上加入了自动配置的特性,在使用FreeMarker模板引擎的时候,需要在resources...DOCTYPE html> Spring Boot Demo - FreeMarker <link href...点击了'); }); }) 上面jquery的资源就来自于WebJars,WebJars将常见的web静态资源封装到了jar包中,...使用方法和FreeMarker一模一样,只需要将FreeMarker的依赖改成Thymeleaf的依赖,将Thymeleaf的模板替换FreeMarker的模板即可。...http://www.w3.org/1999/xhtml"> Spring Boot Demo - Thymeleaf <link href
网站 SEO 优化中很重要的可能就是权重,而链接就是传递权重的一种方式,但是由于网站并非信息孤岛,所以有时候我们对于内容的分享来说可能需要推荐别人的网站,所以内容中就需要涉及到插入外链,而 WordPress...其实网上有很多的方法教程直接对文章内容中的外链统一设置 nofollow 属性,高级一点的还可以设置外链白名单,可是子凡总觉得这还并不是最完美的,虽然变得自能自动了,但是有些时候我们可能发布一篇软文,单独的只是推荐了一个外链...,添加白名单呢又显得冗余,所以子凡还是喜欢编辑文章的时候统一编辑时把控最佳。...关于 WordPress 文章插入或编辑链接增加 Nofollow 属性设置的实现代码教程如下,将代码添加到当前 WordPress 主题的 functions.php 文件的合适位置即可。...另外代码中画蛇添足的增加了一个直接进入链接编辑框的功能,因为 WordPress 经典编辑器点击插入链接按钮会出现一个快速插入链接的输入框,大多情况并不是很实用,所以直接跳过了这一步骤。
在 Spring 5.0 M4 中引入了一个专门针对Kotlin的支持。...11.7.2 模糊查询like写法 另外,我们原生SQL模糊查询like语法,我们在写sql的时候是这样写的 like '%?%' 但是在JP QL中, 这样写 like %?...11.10.1 启动运行 如果是在IDEA中运行,可以直接点击main函数运行,如下图所示: ?...article-content" class="markdown-body"> 这里我们把文章内容放到一个隐藏的textarea的placeholder属性中...同时,在本章最后我们简单介绍了Spring 5.0中对Kotlin的支持诸多新特性,这些新特性令人惊喜。
但是在使用过程中感觉很繁琐,从建表到对表的增删改查等操作,如果表对象的属性很多,就需要使用大量的代码来执行建表、插入等。...在代码执行中还需要对数据库和游标的进行及时关闭(开启使用,用完关闭),而且还需要部分sql语言,这在开发中产生bug进行调试时尤其不方便。...at freemarker.template.Configuration.getTemplate(Configuration.java:742) at freemarker.template.Configuration.getTemplate...例如在数据库方面的表名和列名都来源于实体类名和属性名。默认的数据库名称是大写使用下划线分隔单词,而不是在Java中使用的驼峰式大小写风格。...、修改 插入数据更加简单,也是只要一句代码便能搞定!
配置实例 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指令时一个典型的迭代输出指令,用于迭代输出数据模型中的集合
领取专属 10元无门槛券
手把手带您无忧上云