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

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美一级片在线免费观看 | 国产一区在线看 | xxxx成人| 欧美精品一区二区在线观看 | 久久re视频这里精品一本到99 | 9丨精品国产高清自在线看 9久热这里只有精品免费 | 9久热这里只有精品免费 | 免费国产成人高清视频网站 | 国产欧美日韩在线播放 | 俄罗斯一级毛片免费播放 | 国产一二三区视频 | 国产拍拍| 91久久99热青草国产 | 高清在线免费观看 | 亚洲免费在线观看视频 | 朝鲜女人性猛交 | 色老汉 | 亚洲 欧美 制服 校园 动漫 | 精品精品国产自在香蕉网 | 久久这里有精品 | 99久久精品免费看国产四区 | 91xj视频| 国产精品久久香蕉免费播放 | 国产免费视 | 国产亚洲女人久久久久久 | 午夜福利试看120秒体验区 | 嫩草影院国产 | 边摸边吃奶玩乳尖视频 | 四虎www.| 精品人伦一区二区三区潘金莲 | 网址在线观看你懂我意思吧免费的 | 小伙无套内射老女人 | 人人做人人爽人人爱 | 亚洲精品国产一区二区在线 | 欧美成狂野欧美在线观看 | 国内精品露脸在线视频播放 | h玉足嫩脚嗯啊白丝 | 亚洲午夜视频 | 每天都要睡男人(nph) | 啊皇上你好大要知画 | 成人啪啪漫画全文阅读 |