2013-12-16 13 views
9

私はThymeleafがビューをレンダリングするために作られていることを理解していますが、変数を設定する方法があるかどうかを知りたかったのは、Thymeleafフラグメントの要求スコープ内にある可能性がありますか?タイメリーフ断片に変数を設定する方法は?

私は非常に大きな条件式をアプリケーション全体で何度も繰り返さなければならないので、メインレイアウトに変数を設定して他のすべての子フラグメントで変数を再利用することができれば本当に役立ちます。

私はSpringインターセプタを使用し、モデル内で変数を設定していることに気付いていますが、そうしない方がいいです。

お知らせください。あなただけの断片であなたの式の結果が必要な場合は

Prash

答えて

13

おかげであなたが

th:with="var=${verylargeexpression}" 

を使用することができますこれは、DOM要素の中にどこでも使用することができますローカル変数を作成しますフラグメントを含めて定義しました。断片テンプレートに

20

、パラメータを使用してフラグメントを定義:

<div th:include=”template :: myfragment(${variable})”></div> 

を、変数を断片テンプレートに渡される:

<div th:fragment=”myfragment(myvariable)”> 
    <p th:text=”${myvariable}”></p> 
</div> 

とレイアウトテンプレートでは、指定された変数を有する断片を含みます。

0

Thymeleafと一緒にSpring MVCを使用している場合は、thymeleafテンプレート内の任意のBeanにアクセスできる必要があります。

だけ...グローバルテンプレートでこのような表現を使用

<span th:text="${beans.myBean.verylargeexpression}"></span> 
関連する問題