91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實現Springboot Thymeleaf數據迭代的示例分析

發布時間:2021-04-06 09:37:43 來源:億速云 閱讀:239 作者:小新 欄目:開發技術

小編給大家分享一下實現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依賴

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

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

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類

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類注冊到容器中

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

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

以上是“實現Springboot Thymeleaf數據迭代的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

昌宁县| 咸阳市| 苍南县| 渝北区| 大邑县| 金湖县| 鄂温| 布拖县| 淮滨县| 如皋市| 德钦县| 上饶县| 扎囊县| 农安县| 东源县| 喀什市| 哈尔滨市| 晋宁县| 科技| 华安县| 闸北区| 济宁市| 张家口市| 太仓市| 象山县| 晋城| 扎鲁特旗| 三明市| 阿鲁科尔沁旗| 吉隆县| 定陶县| 台州市| 云林县| 中江县| 阿鲁科尔沁旗| 开鲁县| 类乌齐县| 靖安县| 正定县| 吴川市| 南投县|