SpringBoot Thymeleaf HTML 5ベースの現代テンプレートエンジン

3948 ワード

序言:ThymeleafはJavaサービス側のテンプレートエンジンであり、従来のJSPとは異なり、前者はブラウザで直接開くことができる.拡張属性を無視することができるため、オリジナルページを開くことに相当し、フロントエンドの人員にも一定の便利さをもたらす.JSP+JSTLの組み合わせに飽きたら、Thymeleafはいい選択かもしれません!本工事転送ドア:SpringBoot-Web-Thymelaf
学習目標
簡単な3歩!Thymealfの一般的なテンプレートの使用を迅速に習得します.
クイックレビュー
ソースダウンロード:SpringBoot-Web-Thymeleaf
特集読書:『SpringBoot布道シリーズ』
使用開始
1.導入依存
SpringBootのデフォルトではThymeleafのStarterが提供されており、依存を簡単に導入するだけでよい.
        
            org.springframework.boot
            spring-boot-starter-thymeleaf
        

現在のデフォルトバージョンは2.1ですが、3.0にアップグレードする場合は、このように変更できます.
    
        3.0.7.RELEASE
        2.0.0
    

開発を容易にするために、プロジェクト・ケースにはホット・デプロイメント・ツールdev-toolsが採用されています.これにより、ページを変更した後、IDEAが自動的にロードされ、ホット・アップデートの効果が得られます.
     
            org.springframework.boot
            spring-boot-devtools
            runtime
        

注意:IDEAはホット・デプロイメントをデフォルトでオフにしているため、有効にするにはいくつかの設定が必要です.解決方法:まずCtrl+Shift+Alt+/を押してRegistryに入り(またはShiftをダブルクリックしてRegistryを検索...)、次にcompilerをチェックします.automake.allow.when.app.runningでいいです.また、Build->CompilerもBuild Project automaticallyにチェックを入れる.
2.関連構成の追加
Thymeleafはデフォルトでページキャッシュを開き、開発時にキャッシュを閉じるべきです.また、通常はページの保存パスを指定します.(デフォルトはclasspath:/templates/)
application.yml     :
spring:
  thymeleaf:
    cache: false #    
    prefix: classpath:/views/ #      

3.HTMLの作成
Thymeleafの作成とHTML 5の作成は何の違いもありません.最大の転換は、拡張属性(th:xx)を使用してサービス側とデータのインタラクションを行い、元のページスタイルを維持することであり、Thymeleafの推奨スタイルでもあります.例えば、次の簡単な例では、プロジェクトを開始し、ページジャンプが接続されていることを発見しました.これは、Thymeleafが元のページデータを上書きする優れた能力を検証しています.
Thymeleaf


    

Thymeleaf!!

サプライズがあった : @Controller public class UserController { @GetMapping("/") public String index(Model model) { model.addAttribute("info", "user/list"); return "index"; } @GetMapping("/user") public String hehe(Model model) { model.addAttribute("user", new User(UUID.randomUUID().toString(), "yizhiwazi", "20170928")); return "user"; } @GetMapping("/user/list") public String userlist(Model model) { List userList = new ArrayList<>(); userList.add(new User(UUID.randomUUID().toString(), "yizhiwazi", "20170928")); userList.add(new User(UUID.randomUUID().toString(), "kumamon", "123456")); userList.add(new User(UUID.randomUUID().toString(), "admin", "admin")); model.addAttribute("userList", userList); return "userList"; } }

単一のユーザー情報を示すフォームに戻ってみましょう.


次に、新しいラベルを書く必要がなく、バッチ・ユーザーの遍歴を完了できるユーザー・リスト情報を示すなど、より複雑なケースに入ります.


では、Thymeleafはここまで簡単に紹介されています.詳細は、Thymeleaf公式ガイド3.0を参照してください.