Thymeleafにの記述の仕方で、以下の二通りは別々に使う分には問題なく利用出来ております。
html
1<!-- $で直接参照 --> 2<th:block th:text="${form.name}"/> 3<th:block th:if="${form.flg}">trueです</th:block> 4 5<!-- *でth:objectで指定したオブジェクトの中身を指定 --> 6<th:block th:object="${from}" 7 <th:block th:text="*{name}"/> 8 <th:block th:if="*{flg}">trueです</th:block> 9</th:block>
ここでこの二つの合わせ技は出来ないのでしょうか?
例えば以下のような状態で、XXXXXXXXの部分に両方のフラグがtrueということをしたいのですが
html
1model.form.flg1 (modelの中のformオブジェクトの中のflg1というboolean) 2model.flg2 (modelに"flg2"という名前で設定してるboolean) 3 4<th:block th:object="${from}"> 5 <th:block th:if="XXXXXXXX">両方trueです</th:block> 6</th:block>
$と*併用して一発でやりたいと思ったのですがうまく記述の仕方が分からず、
html
1<th:block th:object="${from}"> 2 <th:block th:if="*{flg1}"> 3 <th:block th:if="${flg2}"> 4 両方trueです</th:block> 5 </th:block> 6 </th:block> 7</th:block> 8と無駄に階層が深くなってしまっています。 9 10もしくは 11<th:block th:object="${from}"> 12 <th:block th:if="${from.flg1 && flg2}"> 13 両方trueです 14 </th:block> 15</th:block> 16と、せっかく親のth:blockでth:objectをしているのに、どちらも直接参照する記述で気持ち悪い記述になっています。
これを
html
1<th:block th:object="${from}"> 2 <th:block th:if="*{flg1 && flg2}">両方trueです</th:block> 3</th:block>
といったような簡潔な記述の方法はないのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/11 11:01
2018/04/14 03:33
2018/04/23 10:08