一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - Springboot Thymeleaf數據迭代實現過程

Springboot Thymeleaf數據迭代實現過程

2020-07-16 11:15gdjlc JAVA教程

這篇文章主要介紹了Springboot Thymeleaf數據迭代實現過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

在模板文件中,可以使用“${{...}}”表達式進行數據轉換,Thymeleaf會使用配置好的數據轉換類,來實現轉換。

例如一個User對象,簡單起見假設有姓名和年齡兩個字段,對象的toString()方法拼接所有字段,使用“${user}”會調用對象的toString()方法得到所有字段,如果在模板中只想得到姓名,可以使用自定義數據轉換類實現。

在Sprint Boot中,實現過程:

(1)先實現自定義的Formatter類,并根據具體業務實現數據轉換邏輯;

(2)將自定義的Formatter類注冊到容器中;

(3)在模板中使用“${{...}}”表達式。

開發環境:IntelliJ IDEA 2019.2.2

Spring Boot版本:2.1.8

新建一個名稱為demo的Spring Boot項目。

1、pom.xml

加入Thymeleaf依賴

?
1
2
3
4
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

2、src/main/java/com/example/demo/User.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.example.demo;
 
public class User {
  String name;
  Integer age;
 
  public String getName() {
    return name;
  }
  public void setName(String name) {
    this.name = name;
  }
  public Integer getAge() {
    return age;
  }
  public void setAge(Integer age) {
    this.age = age;
  }
 
  @Override
  public String toString() {
    return "User{" +
        "name='" + name + '\'' +
        ", age=" + age +
        '}';
  }
}

3、src/main/java/com/example/demo/UserFormatter.java

實現自定義的Formatter類

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
package com.example.demo;
 
import org.springframework.format.Formatter;
 
import java.text.ParseException;
import java.util.Locale;
 
public class UserFormatter implements Formatter<User> {
 
  /**
   * 字符串轉換為對象
  */
  @Override
  public User parse(String s, Locale locale) throws ParseException {
    return null;
  }
 
  /**
   * 對象轉換為字符串
   */
  @Override
  public String print(User user, Locale locale) {
    return "name:" + user.getName();
  }
}

4、src/main/java/com/example/demo/MyConfig.java

將自定義的Formatter類注冊到容器中

?
1
2
3
4
5
6
7
8
9
10
11
12
package com.example.demo;
 
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
 
@Configuration
public class MyConfig {
  @Bean
  public UserFormatter userFormatter(){
    return new UserFormatter();
  }
}

5、src/main/java/com/example/demo/TestController.java

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.example.demo;
 
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
 
@Controller
public class TestController {
  @RequestMapping("/")
  public String test(Model model){
    User user = new User();
    user.setName("lc");
    user.setAge(30);
    model.addAttribute("user", user);
    return "test";
  }
}

6、src/main/resources/templates/test.html

<div th:text="${user}"></div>
<div th:text="${{user}}"></div>

瀏覽器訪問:http://localhost:8080

頁面輸出:

User{name='lc', age=30}
name:lc

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美亚洲国产精品久久久 | 羞羞漫画免费漫画页面在线看漫画秋蝉 | 四虎地址 | waswaswas免费| 亚洲AV无码乱码国产麻豆穿越 | 欧美高清日韩 | 免费看60分钟大片视频播放 | 草综合 | 美女脱了内裤让男桶爽 | 青草草在线观看 | 视频一区二区在线 | 99热在线观看免费 | 青青视频国产依人在线 | 九色PORNY蝌蚪视频首页 | 国产农村一级特黄α真人毛片 | 亚洲国产成人久久综合一区 | 国产精品51麻豆cm传媒 | 18国产精品白浆在线观看免费 | aaa一级特黄 | 掀开奶罩边躁狠狠躁软学生 | 小兰被扒开内裤露出p | 福利姬 magnet | 日韩精品中文字幕视频一区 | 日本人妖网站 | 欧美日韩中文国产一区二区三区 | 我的家教老师在线观看 | www伊人| 波多野结衣一区 | 日韩亚洲国产激情在线观看 | 午夜理论电影在线观看亚洲 | 午夜福利体验免费体验区 | 国产成人免费片在线观看 | 免费特黄一级欧美大片在线看 | 精品一区二区三区免费站 | 日韩精品久久不卡中文字幕 | 免费高清观看 | 欧美成人免费观看的 | 国产一级持黄大片99久久 | 国产一区二区免费在线 | 亚洲网站大全 | 小鸟酱在线看 |