Spring Cloud 2.x系列之springboot集成freemarker
springboot 中自带的页面渲染工具为thymeleaf ,freemarker这种模板引擎用的也比较多。
一、在spring中springMVC代表着view层组件
二、为什么使用freemarker:简单容易学、逻辑分明
三、freemarker优点:不依赖servlet、网络或者web环境
1、新建maven项目,对应的pom.xml文件如下
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>spring-cloud</groupId> <artifactId>sc-freemarker</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>sc-freemarker</name> <url>http://maven.apache.org</url> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.4.RELEASE</version> </parent> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Finchley.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency> </dependencies> </project>
2、新建配置文件application.yml
server: port: 8081 spring: application: name: sc-freemarker freemarker: allow-request-override: false cache: true check-template-location: true charset:UTF-8 content-type: text/html expose-request-attributes: false expose-session-attributes: false suffix: .ftl templateEncoding: UTF-8 templateLoaderPath: classpath:/templates/ expose-spring-macro-helpers: false
备注:freemarker有哪些配置项可以参考类
org.springframework.boot.autoconfigure.freemarker.FreeMarkerProperties
3、新建一个controller
package sc.freemarker.controller; import java.util.ArrayList; import java.util.List; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import sc.freemarker.model.User; @Controller public class FreemarkerController { @RequestMapping("/getUser") public StringgetUser(Integer id, Model model){ User u = new User(); u.setId(1); u.setAge(13); u.setSex(1); u.setUserName("黄金"); User l = new User(); l.setId(1); l.setAge(23); l.setSex(0); l.setUserName("白银"); List<User> friends = newArrayList<User>(); friends.add(l); u.setFriends(friends); model.addAttribute("user",u); return"getUser"; } }
备注:注意最外层的控制层注解只能用@Controller
4、新建模板文件getUser.ftl
<!DOCTYEhtml> <htmlxmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" xmlns:sec="http://www.thymeleaf.org/thymeleaf-extras-springsecurity3"> <head> <title>Hello World!</title> </head> <body> <center> <p>welcome${user.userName} to freemarker!</p> <p> 年龄: ${user.age}</br> 性别: <#ifuser.sex==0> 女 <#elseifuser.sex==1> 男 <#else> 保密 </#if> </p> <h4>我的好友:</h4> <#listuser.friends as f> 姓名:${f.userName} , 年龄${f.age} <br> </#list> </center> </body> </html>
5、其他项目文件如下图
6、运行FreemarkerApplication.java类,启动项目;并检查启动信息,确认freemarker配置是否生效
7、访问页面http://127.0.0.1:8081/getUser
源码:
https://gitee.com/hjj520/spring-cloud-2.x/tree/master/sc-freemarker
本文作者:java乐园

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
从零开始一起学习SLAM | 三维空间刚体的旋转
刚体,顾名思义,是指本身不会在运动过程中产生形变的物体,如相机的运动就是刚体运动,运动过程中同一个向量的长度和夹角都不会发生变化。刚体变换也称为欧式变换。 视觉SLAM中使用的相机就是典型的刚体,相机一般通过人手持、机载(安装在机器人上)、车载(固定在车辆上)等方式在三维空间内运动,形式包括旋转、平移、缩放、切变等。其中,刚体在三维空间中最重要的运动形式就是旋转。那么刚体的旋转如何量化表达呢? 三维空间中刚体的旋转表示 三维空间中刚体的旋转总共有4种表示方法,高翔的十四讲中的第3讲比较详细的讲解了。本文提炼中最重要的内容,并加上实际使用过程中的经验总结进行了归纳。下面按照重要顺序分别进行介绍。 1 旋转矩阵 1、SLAM编程中使用比较频繁。需要重点掌握。 2、旋转矩阵不是一般矩阵,它有比较强的约束条件。旋转矩阵R具有正交性,R和R的转置的乘积是单位阵,且行列式值为1。 3、旋转矩阵R的逆矩阵表示了一个和R相反的旋转。 4、旋转矩阵R通常和平移向量t一起组成齐次的变换矩阵T,描述了欧氏坐标变换。引入齐次坐标是为了可以方便的描述连续的欧氏变换,这个在上一篇文章《从零开始一起学习SLAM |...
- 下一篇
python+flask搭建CNN在线识别手写中文网站
使用python+flask搭建的一个网站,然后从网页的写字板上获取鼠标手写的汉字经过转码后传回后台,并经过图片裁剪处理之后传入CNN手写中文识别的模型中进行识别,最后通过PIL将识别结果生成图片,最后异步回传给web端进行识别结果展示。中文总共50,000多汉字,常用的有3,755个。这里主要对常见的3755个汉字进行识别。 一、数据集 目前国内有很多优秀的中文手写识别数据集。例如:北京邮电大学模式识别实验室发布的数据(HCL2000),它是目前最大的脱机手写汉字库,共有1,000个人书写,除了汉字样本库外,还有一个对应的书写者信息库,记录了书写者的年龄、职业、文化程度等信息,用于研究相关影响因素。目前此数据库免费向研究者公开。本文使用的是中科院自动研究所的分享的中文手写数据集CASIA-HWDB(下载地址http://www.nlpr.ia.ac.cn/databases/handwriting/Home.html ),由187个人通过Wacom笔在线输入的手写汉字。 二、CNN结构: 用tensorflow库来实现【三个卷积层+三个池化层+两个全连接层】的卷积神经网络,结构如下图...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- 设置Eclipse缩进为4个空格,增强代码规范
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Red5直播服务器,属于Java语言的直播服务器
- Docker安装Oracle12C,快速搭建Oracle学习环境