Thymeleaf共通の構文:データ遅れるロード

場合の処理テンプレートを、テンプレートは、パフォーマンスを向上させるために、論理ロードデータかどうかを決定することができます。
設定データは、この関数はLazyContextVariableを使用して実装することができるばねブートコントローラ。

開発環境:のIntelliJ IDEA 2019年2月2日
春ブートバージョン:2.1.8

春のブートプロジェクトのデモのための新しい名前を作成します。

1、のpom.xmlは
Thymeleaf依存添加しました

        < 依存性> 
            < のgroupId > org.springframework.boot </ のgroupId > 
            < たartifactId >ばねブートスタータthymeleaf </ たartifactId > 
        </ 依存>

2、SRC /メイン/ javaの/ COM /例/デモ/ User.java

パッケージcom.example.demo。

パブリック クラスユーザー{ 
    整数ID。
    文字列の名前。

    パブリックユーザ(整数ID、文字列名){
         この .ID = ID。
        この .nameの= 名前; 
    } 
    パブリック整数のgetId(){
         戻りID。
    } 
    公共 ボイドSETID(整数ID){
         この .ID = ID。
    } 
    パブリック文字列のgetName(){
         戻り名。
    } 
    公共 ボイドのsetName(文字列名){
         この.nameの= 名前; 
    } 
}

3、SRC /メイン/ javaの/ COM /例/デモ/ TestController.java

パッケージcom.example.demo。

輸入org.springframework.stereotype.Controller。
輸入org.springframework.ui.Model。
輸入org.springframework.web.bind.annotation.PathVariable;
輸入org.springframework.web.bind.annotation.RequestMapping。
輸入org.thymeleaf.context.LazyContextVariable; 

輸入はjava.util.ArrayList;
輸入はjava.util.List; 

@Controller 
パブリック クラスTestController { 
    @RequestMapping( "/ {ショー}" パブリック文字列試験(モデルモデル、@PathVariable( "表示")ブールショー){ 
        model.addAttribute( "ユーザ"、新たな新LazyContextVariable(){ 
            @Override 
            保護オブジェクトloadValueは(){
                 戻り(queryUsersを); 
            } 
        }); 
        model.addAttribute( "表示" 、ショー);
         リターン "テスト" ; 
    } 

    プライベートリスト<ユーザー> queryUsers(){ 
        System.out.printlnは(「アナログデータクエリは、実用的なアプリケーションは、データベースに直接問い合わせることができる」); 
        リスト <ユーザー>ユーザー= 新しい新規のArrayList <ユーザー> (); 
        users.add(新しい新しいユーザ(1、。 「ジョン・ドウ」));
        users.add((追加新しいですユーザー(2、 "李四" )); 
        users.add(新しいユーザー(3、 "王五" ));
        リターンユーザー; 
    } 
}

4、SRC /メイン/リソース/テンプレート/ test.htmlという 

<!DOCTYPE HTML > 
< HTML LANG = "EN" > 
< > 
    < メタ文字コード= "UTF-8" > 
    < タイトル>タイトル</ タイトル> 
    < スタイルタイプ= "テキスト/ cssの" > 
        テーブル{ 国境崩壊崩壊} 
        TD { ボーダー1ピクセル固体#C1DAD7 } 
    </ スタイル> 
</ ヘッド>
> 
    < 目:もし= "$ {ショー==真}" > 
        < TR 番目:各= "ユーザ$ {ユーザー}" > 
            < TD 目:テキスト= "$ {user.id}" > </ TD > 
            < TD 目:テキスト= "$ {user.name}" > </ TD > 
        </ TR > 
    </ テーブル> 
</ ボディ> 
</ HTML >

 

ブラウザアクセス:
HTTP:// localhostを:8080 /偽、ページは、コンソール出力ではなくデータを表示されませんでした。
http:// localhost:8080 /真 、 ページ表示データ、コンソール出力「アナログクエリデータ、実用的なアプリケーションでは、データベースを直接照会することができます。」

おすすめ

転載: www.cnblogs.com/gdjlc/p/11701297.html