springboot入门_模板

Posted allen-wl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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>
View Code

在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
View Code

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

至此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 }
View Code
技术分享图片
 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 }
View Code
技术分享图片
 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>
View Code

现在就可以启动工程,访问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>
View Code

创建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 }
View Code

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

技术分享图片

 

以上是关于springboot入门_模板的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot中Thymeleaf创建模板

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

[AndroidStudio]_[初级]_[配置自动完成的代码片段]

微信小程序视图层WXML_模板

SpringBoot入门之Thymeleaf的使用一