テンプレートエンジンspringbootの公式は、強力な、シンプルで親しみやすい、使用することをお勧めし、機能thymeleaf JSPはサーバー側レンダリング技術ですどちらも多くの類似点を持っているが、JSP関数よりもthymeleafより強力なようthymeleaf。
1. thymeleafエントリ
1.1導入座標
<! - springBoot整合thymeleaf - > <依存> <groupIdを> org.springframework.boot </ groupIdを> <たartifactId>春・ブート・スタータthymeleaf </たartifactId> </依存関係>
1.2書き込みコントローラクラス
( "/インデックス" @GetMapping ) パブリック 文字列インデックス(モデルモデル){ model.addAttribute( "MSG"、 "こんにちは" )。 リターン 「インデックス」。 }
1.3フロントページ
HTMLタブページには、このアドレスに追加する必要があり、またはthymeleafを使用することはできません、とあなたは別のURLを追加する場合は、このウェブサイト内でのみ書き込みhtmlタグは、ページには、例外が発生しますことができます。
例外:
< HTML LANG = "EN" のxmlns:目= "http://www.thymeleaf.org" >
< 引用番目:テキスト= "$ {MSG}" >王超</ 引用>
ラベルの結果は「チャオ」の内容を引用ハローに置き換えられます。
目:テキストはthymeleaf構文の一つであり、彼の役割は、テキストを置換することです。かかわらず、タグ内のコンテンツが格納されたコンテンツに置き換えられますかどうかの。タグ値が小さい誤差よりもかかる場合も、thymeleafより厳格に注意してください。
:次のように一般的なthymeleafノート
実際の開発ではそうあなたも他のページのデータを表示したい場合は、あなたが保存のためにセッションを使用する必要がある、のModelAndView要求レベルによるものです。最も一般的なのはインデックスページで上陸した後、ユーザー情報を表示することです。
セッションthymeleaf 2.ビルトイン使用してオブジェクト(推奨されません)
2.1コントローラクラス
HttpServletRequestのリクエスト= HttpContextUtil.getHttpServletRequest()。
。でrequest.getSession()のsetAttribute( "ユーザ"、(SYSUSER)SecurityUtils.getSubject()getPrincipal()。)。
2.2フロントページ
<cite th:text="${session.user.getUsername()}">王超</cite>
我登陆的账号名称是admin,所以标签内的王超会被替换为admin。如果用model的话是无法获取到username的值,页面会报错。
所以需要用session进行会话存储,但是thymeleaf不推荐使用内置对象。