1、pom.xml文件中添加freemarker依赖
<!-- Spring Boot Freemarker 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
2、application.yml中配置freemarker
spring: # mvc: # view: # prefix: /WEB-INF/jsp/ # suffix: .jsp freemarker: template-loader-path: - /WEB-INF/ftl/ suffix: .html charset: utf-8 content-type: text/html
到此配置完成,以下为示例代码。
3、新建实体类User及控制器UserController
package com.huatech.domain; import java.util.Date; import org.hibernate.validator.constraints.Email; import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; import com.fasterxml.jackson.annotation.JsonFormat; public class User { private Long id; // 日期类型输出到页面格式 @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") // 页面字符串格式化为日期 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date createTime; @Length(min = 2, max = 10, message = "用户名长度在{min}到{max}之间") private String username; @Email(message = "邮箱格式错误") private String email; private String remark; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public Date getCreateTime() { return createTime; } public void setCreateTime(Date createTime) { this.createTime = createTime; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } public String getRemark() { return remark; } public void setRemark(String remark) { this.remark = remark; } @Override public String toString() { return "User [id=" + id + ", createTime=" + createTime + ", username=" + username + ", email=" + email + ", remark=" + remark + "]"; } }
package com.huatech.controller; import java.util.List; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.ObjectError; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.ResponseBody; import com.huatech.domain.User; import com.huatech.service.UserService; @Controller public class UserController { @Autowired private UserService userService; @GetMapping(value="/user/addPage") public String addPage(Model model){ model.addAttribute("user", userService.get(21L)); return "user/addPage"; } @PostMapping(value="/user/doAdd") @ResponseBody public Object doAdd(@Valid User user, BindingResult bindingResult){ if(bindingResult.hasErrors()){ StringBuffer sb = new StringBuffer(); List<ObjectError> errors = bindingResult.getAllErrors(); for (ObjectError objectError : errors) { sb.append(objectError.getDefaultMessage()).append("<br>"); } return sb.toString(); } userService.insert(user); return user; } }
4、在/WEB-INF/ftl/user下新建addPage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <h3>新增用户信息</h3> <form action="/user/doAdd" method="post"> <span>姓名</span><input name="username"/><br/> <span>邮箱</span><input name="email"/><br/> <span>添加时间</span><input name="createTime" value="2017-12-26 19:24:00"/><br/> <span>备注</span><input name="remark"/><br/> <input type="submit"/> </form> <h3>用户详情</h3> <table> <tr><td>主键</td><td>${user.id}</td></tr> <tr><td>姓名</td><td>${user.username}</td></tr> <tr><td>邮箱</td><td>${user.email}</td></tr> <tr><td>添加时间</td><td>${user.createTime?string('yyyy-MM-dd HH:mm:ss')}</td></tr> </table> </body> </html>
相关推荐
spring-boot-scaffold, springboot脚手架,集成jpa freemarker dubbo security为一体
spring-boot-starter-freemarker spring-boot-starter-groovy-templates spring-boot-starter-hateoas spring-boot-starter-hornetq spring-boot-starter-integration spring-boot-...
spring-boot-email-core , it.ozimov:spring-boot-freemarker-email , it.ozimov:spring-boot-mustache-email , it.ozimov:spring-boot-pebble-email , it.ozimov:spring-boot-thymeleaf-email 持续集成: ...
freemarker-2.3.22 druid-1.0.14 mybatis-3.3.0 activemq-5.7.0 quartz-2.2.1 slf4j-1.7.12 logback-1.1.3 guava-18.0 apache-commons-xxx 注意事项 目录结构可参考 ./tree.txt。聪明的你一定知道什么样的文件应该...
boot集成freemarker freemarker实现转word 第一步:制作word模板 第二步:word模板转xml文件 第三步:修改xml文件内容(添加freemarker语法) 第四步:修改xml文件后缀为.ftl 第五步:使用freemarker的API语法实现输出...
spring boot 的项目,该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、...
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 66 个集成demo。该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常...
- Spring Boot 模板,包括thymeleaf、freemarker、jsp、表单校验 等。 - springboot-docs - Spring Boot 文档生成工具,包括 Swagger、Spring RestDocs - springboot-bussiness - Spring Boot 业务应用,包括...
该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy...
spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 63 个集成demo,已经完成 52 个。 该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求...
请使用maven导入打开项目,此Demo使用IntelliJ IDEA创建,请尽可能使用IntelliJ IDEA
该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy...
使用Spring boot + FreeMarker 实现代码生成功能,完整案例可以查看 eladmin 项目,教程地址: https://www.ydyno.com/archives/1177.html
SpringBoot学习笔记所有源码集,包括 集成了freemarker、Servlet、拦截器、拦截器、Filter、静态资源处理、启动加载数据、Springboot 日志、JDBC使用、Springboot JPA、Mybatis、动态数据源、集成swagger、集成Redis...
1.40 Spring Boot集成EHCache实现缓存机制 1.41 Spring Boot分布式Session状态保存Redis 1.42 Spring Boot Shiro权限管理 1.43 Spring Boot Shiro权限管理 1.44 Spring Boot Shiro权限管理 1.45 Spring Boot Shiro...
在配置freemarker作为模版时,使用xml作为mvc配置文件,目前用testng进行集成测试无法通过 下载项目之后,运行gradle idea生成idea项目 目录说明 src/main/java/ - 类路径,程序的主要代码,将会编译成项目的class ...
该demo是基于spring boot 2集成hibernate及freemarker的可以运行的最基本的例子。 希望能对大家有帮助。
SpringBoot集成Freemarker+FlyingSaucer实现pdf在线预览.pdf
zo-spring-bootFrom zero to one with Spring Boot###roadmap权限:Shiro (Done)UI:SB Admin 2(Based of Bootstrap 3) (TODO)数据库:hsqldb (Done)持久化:Spring Data JPA (Done)MVC:Spring MVC (Done)Template ...
使用Druid Spring Boot Starter 集成Druid数据库连接池与监控 使用FastJsonHttpMessageConverter,提高JSON序列化速度 集成MyBatis、PageHelper分页插件 提供代码生成器根据表名生成对应的Domain(领域对象)、Mapper...