springboot入门_模板

springboot中已经不推荐使用jsp,而是推荐使用模板,如freemarker,thymeleaf等,本文记录在sprigboot中使用模板。

创建一个maven的springboot工程,

freemarker,要使用freemarker模板需引入所需要的jar,pom.xml如下:

 1 <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.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 2   <modelVersion>4.0.0</modelVersion>
 3   <groupId>com.allen.springboot.learn</groupId>
 4   <artifactId>springboot_freemarker</artifactId>
 5   <version>0.0.1-SNAPSHOT</version>
 6
 7   <parent>
 8     <groupId>org.springframework.boot</groupId>
 9     <artifactId>spring-boot-starter-parent</artifactId>
10     <version>1.5.10.RELEASE</version>
11   </parent>
12
13   <dependencies>
14     <!-- web 依赖 -->
15     <dependency>
16         <groupId>org.springframework.boot</groupId>
17         <artifactId>spring-boot-starter-web</artifactId>
18     </dependency>
19
20     <!-- Freemarker 依赖 -->
21     <dependency>
22         <groupId>org.springframework.boot</groupId>
23         <artifactId>spring-boot-starter-freemarker</artifactId>
24     </dependency>
25   </dependencies>
26
27 </project>

在resources目录下创建application.properties文件,添加freemarker配置信息,代码如下:

 1 ##FREEMARKER
 2 spring.freemarker.template-loader-path=classpath:/view/
 3 spring.freemarker.suffix=.ftl
 4 #spring.freemarker.prefix=
 5 spring.freemarker.allow-request-override=false
 6 spring.freemarker.cache=true
 7 spring.freemarker.check-template-location=true
 8 spring.freemarker.charset=UTF-8
 9 spring.freemarker.content-type=text/html
10 spring.freemarker.expose-request-attributes=false
11 spring.freemarker.expose-session-attributes=false
12 spring.freemarker.expose-spring-macro-helpers=false

这些配置信息中,比较重要的是前两行,分别指定文件所在路径和文件名的后缀。

至此freemarker的配置已经完成,接下来创建controller,实体类和模板,使用freemarker模板

 1 /**
 2  *
 3  */
 4 package com.allen.springboot.learn.controller;
 5
 6 import java.util.ArrayList;
 7 import java.util.List;
 8
 9 import org.springframework.stereotype.Controller;
10 import org.springframework.ui.Model;
11 import org.springframework.web.bind.annotation.RequestMapping;
12
13 import com.allen.springboot.learn.entity.UserInfo;
14
15 /**
16  * @author admin
17  *
18  */
19 @Controller
20 @RequestMapping("/freemarker")
21 public class FreemarkerController {
22
23     @RequestMapping("/hello")
24     public String hello(Model model){
25         UserInfo u1 = new UserInfo();
26         u1.setId(1);
27         u1.setEmail("[email protected]");
28         u1.setAge(12);
29         u1.setPassword("111111");
30         u1.setSex("男");
31         u1.setUsername("allen");
32         model.addAttribute("u1", u1);
33
34         List<UserInfo> userList = new ArrayList<UserInfo>();
35         userList.add(u1);
36         UserInfo u2 = new UserInfo();
37         u2.setId(2);
38         u2.setEmail("[email protected]");
39         u2.setAge(22);
40         u2.setPassword("222222");
41         u2.setSex("F");
42         u2.setUsername("kobe");
43         userList.add(u2);
44         UserInfo u3 = new UserInfo();
45         u3.setId(3);
46         u3.setEmail("[email protected]");
47         u3.setAge(33);
48         u3.setPassword("333");
49         u3.setSex("M");
50         u3.setUsername("kg");
51         userList.add(u3);
52         model.addAttribute("userList", userList);
53         return "fmk";
54     }
55
56 }

 1 /**
 2  *
 3  */
 4 package com.allen.springboot.learn.entity;
 5
 6 /**
 7  * @author admin
 8  *
 9  */
10 public class UserInfo {
11
12     private Integer id;
13     private String username;
14     private String password;
15     private String sex;
16     private String email;
17     private int age;
18
19     public Integer getId() {
20         return id;
21     }
22     public void setId(Integer id) {
23         this.id = id;
24     }
25     public String getUsername() {
26         return username;
27     }
28     public void setUsername(String username) {
29         this.username = username;
30     }
31     public String getPassword() {
32         return password;
33     }
34     public void setPassword(String password) {
35         this.password = password;
36     }
37     public String getSex() {
38         return sex;
39     }
40     public void setSex(String sex) {
41         this.sex = sex;
42     }
43     public String getEmail() {
44         return email;
45     }
46     public void setEmail(String email) {
47         this.email = email;
48     }
49     public int getAge() {
50         return age;
51     }
52     public void setAge(int age) {
53         this.age = age;
54     }
55
56 }

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <title>Insert title here</title>
 5 </head>
 6 <body>
 7 用户信息<br/>
 8 id:${u1.id}<br/>
 9 username:${u1.username}<br/>
10 password:${u1.password}<br/>
11 sex:${u1.sex}<br/>
12 email:${u1.email}<br/>
13 age:${u1.age}
14 <hr/>
15 列表信息<br/>
16 <table>
17     <#if (userList ? size > 0 )>
18         <#list userList as user>
19             <tr>
20                 <td>${user.id}</td>
21                 <td>${user.username}</td>
22                 <td>${user.password}</td>
23                 <td>${user.sex}</td>
24                 <td>${user.email}</td>
25                 <td>${user.age}</td>
26             </tr>
27         </#list>
28     <#else>
29         没有数据
30     </#if>
31 </table>
32
33 </body>
34 </html>

现在就可以启动工程,访问controller了,信息正常信息

至此在springboot中使用freemarker已完成。

接下来看看使用thymeleaf模板,thymeleaf模板是springboot默认使用的模板,模板文件默认路径是在src/main/resources/templates下,和上文一样,只需要在pom.xml文件中引入对应的jar。

创建模板:

 1 <!DOCTYPE html>
 2 <html xmlns:th="http://www.thymeleaf.org" xmlns:tiles="http://www.thymeleaf.org">
 3 <head>
 4 <meta charset="UTF-8" />
 5 <title>Insert title here</title>
 6 </head>
 7 <body>
 8 hello <span style="color:red" th:text="${name}"></span>
 9 </body>
10 </html>

创建controller:

 1 /**
 2  *
 3  */
 4 package com.allen.springboot.learn.controller;
 5
 6 import org.springframework.stereotype.Controller;
 7 import org.springframework.ui.Model;
 8 import org.springframework.web.bind.annotation.RequestMapping;
 9
10 /**
11  * @author admin
12  *
13  */
14 @Controller
15 @RequestMapping("/thymeleaf")
16 public class ThymeleafController {
17
18     @RequestMapping("/hello")
19     public String helloThymeleaf(Model model){
20         model.addAttribute("name", "Thymeleaf");
21         return "tmf";
22     }
23
24 }

接下来启动项目,访问controller中的地址,浏览器端显示如下内容

原文地址:https://www.cnblogs.com/Allen-Wl/p/8461276.html

时间: 2024-08-30 16:34:29

springboot入门_模板的相关文章

springboot入门_获取属性文件中的值

在上一篇文章中,记录了用springboot实现输出一个hello world到前台的程序,本文记录学习springboot读取属性文件中配置信息. 框架属性文件(application.properties) 创建一个springboot项目,并引入相关依赖,POM文件如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.or

springboot入门_数据库访问_jdbcTemplate

本文记录下在springboot项目中使用jdbcTemplate访问数据库. 创建springboot项目,添加依赖,pom文件如下: 1 <!--web 依赖--> 2 <dependency> 3 <groupId>org.springframework.boot</groupId> 4 <artifactId>spring-boot-starter-web</artifactId> 5 </dependency>

springboot入门_数据库访问_jpa

本文记录使用jpa访问数据库. 创建spring boot项目,并在pom文件中添加相应的依赖包. 1 <dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-data-jpa</artifactId> 4 </dependency> 5 <dependency> 6 <groupId&g

SpringBoot集成beetl模板快速入门

SpringBoot集成beetl模板快速入门 首次探索 beetl官方网址:http://ibeetl.com/ 创建SpringBoot工程(idea) 新建工程 选择创建Spring工程 书写包名和项目名称等 选择集成web依赖 确认项目保存路径信息 修改maven本地仓库位置 maven本地仓库位置,默认在C盘的: "C:\Users\用户名 ?.m2\repository" 可以复制maven工程下的setting.xml修改其文件,详情见该博客 http://blog.cs

Spring_MVC_教程_快速入门_深入分析

Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf SpringMVC核心配置文件示例.rar 作者:赵磊 博客:http://elf8848.iteye.com 目录 一.前言 二.spring mvc 核心类与接口 三.spring mvc 核心流程图 四.spring mvc DispatcherServlet说明 五.spring mvc 父子上下文的说明

Springboot项目Jenkinsfile模板

Springboot项目Jenkinsfile模板 #!/usr/bin/groovy import groovy.json.* import hudson.model.* //@NonCPS //代码库信息 String srcUrl = "${env.srcUrl}" String srcType = "${env.srcType}" String tagName = "${env.tagName}" String branchName =

SpringBoot入门基础

SpringBoot入门 (一) HelloWorld 一 什么是springboot springboot是一个全新的框架,它设计的目的简化spring项目的初始环境的搭建和开发,主要有以下几个特点: 1.简化初始配置 ,可与主流框架集成: 2.内置Servlet容器,无需在打War包: 3.使用了Starter(启动器)管理依赖并版本控制: 4.大量的自动配置,简化开发,方便集成第三方: 5.提供准生产环境运行时的监控,如指标,健康,外部配置等: 6.无需XML配置,减少冗余代码 . 未使用

SpringBoot入门十九,简单文件上传

项目基本配置参考SpringBoot入门一,使用myEclipse新建一个SpringBoot项目,使用myEclipse新建一个SpringBoot项目即可.现在来给项目添加一个MyBatis支持,添加方式非常简单,仅需两步即可,具体内容如下: 1. pom.xml添加以下配置信息 <!-- 文件上传配置开始 --> <!-- 9.引入commons-io依赖 --> <dependency> <groupId>commons-io</groupId

地图入门_坐标系统

在群里面遇到一个GPS空间查询计算的问题,查询过程中发现两个坐标点的空间距离越近,距离计算的越不准. 车子在圆中,但是算出来的不在 范围变大计算结果正确 导致这个问题的原因之一:地图坐标系统. 坐标系统就是对一个坐标的描述.要描述一个坐标就需要空间参考系统.假设问你一个坐标(1024,720)在你屏幕的什么位置.你首先要确定的就是起算点在那里,左上角还是左下角.同理(102.13,34.24)这在地球的上的什么地方.起算点是本初子午线和赤道的交点么? 问题没有那么简单.屏幕坐标是笛卡尔坐标系.但