`
hbxflihua
  • 浏览: 676195 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

spring-boot集成freemarker

阅读更多

 

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-starter-freemarker-1.3.3.RELEASE.jar

    首先,我们来看"spring-boot-starter-freemarker-1.3.3.RELEASE.jar",这是Spring Boot官方提供的一个启动器(Starter),用于简化与Freemarker的集成。Freemarker是一个强大的、轻量级的、基于模板的语言,常用于...

    Spring-boot jar Spring-boot所需jar包

    此外,Spring Boot 还提供了许多其他特性,例如自动配置的 RESTful 控制器、模板引擎支持(如 Thymeleaf、FreeMarker 或 Groovy)以及对静态资源处理的支持。 Spring Boot 也支持 Actuator,这是一个用于生产环境的...

    spring-boot-1.5.3.RELEASE

    1. `spring-boot-starter-test`模块:包含了JUnit、Mockito、Hamcrest和JsonPath等测试工具,方便进行单元测试和集成测试。 七、微服务构建 1. Spring Cloud集成:虽然1.5.3.RELEASE可能不包含最新版的Spring ...

    spring-boot-reference中文版

    安全方面,Spring Boot集成了Spring Security,允许开发者轻松地添加认证和授权。默认情况下,它提供了基本的HTTP Basic认证,但你也可以自定义安全配置以适应复杂的需求。 最后,Spring Boot的部署方式多样,可以...

    spring-boot-reference-zh

    7. **Web 开发**:Spring Boot 支持 MVC 模式,提供了诸如模板引擎(Thymeleaf、Freemarker)、RESTful API 开发等特性。 8. **数据访问**:支持多种数据访问技术,包括 JDBC、JPA(Hibernate)、MyBatis 等,以及...

    spring-boot-tutorials-master.zip

    - **视图解析**:虽然Spring Boot更推荐使用Thymeleaf、Freemarker等模板引擎,但也可以支持JSP。 - **配置JSP**:由于Spring Boot默认不启用JSP支持,需要额外配置,包括添加Jasper编译器和设置视图解析器。 这...

    spring-boot-web.zip

    标题中的"spring-boot-web.zip"可能是一个包含Spring Boot Web项目的压缩包,这个项目通常包含了用于构建Web应用程序的所有必要组件,如Spring MVC、Thymeleaf或FreeMarker模板引擎等。这些组件使得开发者能够轻松地...

    spring-boot-examples.zip

    在这个名为 "spring-boot-examples.zip" 的压缩包中,包含了多个 Spring Boot 的示例项目,如 spring-boot-shiro、spring-boot-redis、spring-boot-web 和 spring-boot-rabbitmq,这些都是 Spring Boot 集成其他流行...

    spring-boot 1.2.4.release

    通过这些示例,你可以深入理解Spring Boot如何与Spring框架的其他组件集成,以及如何利用其特性快速开发应用程序。对于初学者来说,这是一个很好的实践平台,可以学习到如何构建、配置和运行Spring Boot应用,同时也...

    spring-boot-中文PDF版

    5. **数据访问**:Spring Boot与Spring Data JPA、MyBatis等持久层框架集成,使得数据库操作变得简单。它支持关系型数据库(如MySQL、PostgreSQL)以及NoSQL数据库(如MongoDB)。 6. **测试**:书中会介绍如何编写...

    spring-boot 各种demo例子(最新)

    4. **Thymeleaf/FreeMarker**:Spring Boot 可以与 Thymeleaf 或 FreeMarker 等模板引擎集成,用于生成动态 HTML 页面。在 demo 中,这些模板引擎的配置和使用方法会有展示。 5. **数据访问**:Spring Boot 支持...

    spring-boot.zip

    **SSM**: Spring、SpringMVC 和 MyBatis 的缩写,是经典的 JavaWeb 开发三层架构,Spring 提供了依赖注入和事务管理,SpringMVC 是 MVC 模式的实现,MyBatis 是持久层框架,它们在 Spring Boot 中可以被替换或集成。...

    spring-boot-reference-guide-zh-中文, spring-boot参考指南

    - **Spring MVC**:Spring Boot默认使用Spring MVC处理HTTP请求,提供模板引擎(如Thymeleaf、Freemarker)支持。 - **RESTful服务**:创建JSON或XML响应,支持HATEOAS概念。 - **静态资源**:自动处理CSS、...

    管理系统系列--基于Spring-boot和dubbox的API接口和后台管理系统.zip

    Spring-boot的Thymeleaf或FreeMarker可以用于生成前端页面,而Spring Security则可用于实现权限控制。 综上,这个管理系统结合了Spring-boot的快速开发能力和dubbox的分布式服务特性,构建了一个高效、可扩展的后台...

    "Spring Boot 应用程序的常用依赖项配置示例"

    spring-boot-starter-freemarker: 这个依赖用于集成Freemarker模板引擎,使得项目可以使用Freemarker来生成和渲染页面。 spring-boot-starter-jdbc: 提供了Spring对JDBC(Java Database Connectivity)的支持,使得...

    spring-boot-3.0.6.zip

    在实际开发中,还需要学习如何创建 RESTful API、处理 Web 请求、使用模板引擎(如 Thymeleaf 或 FreeMarker)构建动态网页、集成数据库、实现安全控制(如 Spring Security)以及测试策略。 标签中提到的 ...

    spring-boot-jsp

    首先,Spring Boot 默认并不支持 JSP,因为它更倾向于使用 Thymeleaf、Freemarker 或者模版引擎如 Mustache 这样的视图技术。但如果你的项目中需要使用 JSP,你需要进行一些额外的配置。 1. 添加 JSP 支持: 要在 ...

    spring-boot中文开发指南

    5. **Web开发**:学习使用Spring Boot和Spring MVC进行Web应用开发,包括RESTful API设计、模板引擎(Thymeleaf、Freemarker)和WebSocket支持。 6. **数据访问**:掌握如何与各种数据库(如MySQL、PostgreSQL、...

    干净可用spring-boot的项目

    2. **内嵌式Web服务器**:Spring Boot默认集成了Tomcat或者Jetty作为内嵌式Web服务器,使得应用可以直接运行为可执行jar,无需额外部署到外部服务器。 3. **自动配置(Auto Configuration)**:Spring Boot根据类...

    spring-boot-reference

    7. **Web开发**:Spring MVC是Spring Boot处理HTTP请求的主要方式,文档详细解释了如何构建RESTful服务,使用Thymeleaf或Freemarker进行模板渲染,以及处理上传和下载。 8. **测试**:Spring Boot提供了丰富的测试...

Global site tag (gtag.js) - Google Analytics