2017-03-23 16 views
0

私はSpringプロジェクトでThymeleafを使用していますが、その1つの結果としてリストを表示する必要がありますが、私はそうではありませんノーハウ。Thymeleaf:switch文の結果としてリストを設定する方法

これはコードです:

<!--Global validation results--> 
<div th:if="${#fields.hasErrors('global')}"> 
    <div class="alert alert-danger" role="alert" 
     th:each="err : ${#fields.errors('global')}"> 

    <div th:switch="${err}"> 
     <div th:case="error.fromAfterTo" th:text="#{error.fromAfterTo}"></div> 
     <div th:case="error.overlaps" th:text="#{error.overlaps}"> 

     <ul th:each="interval : ${dateOverlaps}"> 
      <li th:text="${#temporals.format(interval.datefrom, 'dd/MM/yyyy')} + 
       ' - ' + ${#temporals.format(interval.dateto, 'dd/MM/yyyy')}">              
      </li> 
     </ul> 

     </div> 
    </div> 
</div> 

番目:switch文の外にそれを設定するときに、= "error.overlaps" の場合は動作しますが、リストはただ表示されます。

ご協力いただきありがとうございます。

Aleix

答えて

0

のために働いていた場合#{error.overlaps}を評価th:text属性は、結果を設定します知らせることができますこの評価のループが効果的に評価結果に置換されます。divタグが含まれています。そのため、スイッチの外にリストが表示されます。

詳細here

+0

大変ありがとう@LachezarBalev、キーはcase文からth:text = "#{error.overlaps}"を取り除くことでした。 –

0

あなたは

th:case="#{error.overlaps}" 

th:case="error.overlaps" 

を代用し、私はこれがあなた

+0

いいえ、動作しませんでした。 検証セクションを完成させるためにいくつかのコードを追加しました。 ありがとう@Periklis –

0

これは予想通りそれが働いて、最終的なコードです:あなたの助けのためにもう一度

<!--Global validation results--> 
<div th:if="${#fields.hasErrors('global')}"> 
    <div class="alert alert-danger" role="alert" 
     th:each="err : ${#fields.errors('global')}"> 
     <div th:switch="${err}"> 
      <div th:case="error.fromAfterTo" th:text="# error.fromAfterTo}"></div> 
      <div th:case="error.overlaps"> 
       <p th:text="#{error.overlaps}"></p> 
       <ul th:each="interval : ${dateOverlaps}"> 
        <li th:text="${#temporals.format(interval.datefrom, 'dd/MM/yyyy')} 
         + ' - ' + ${#temporals.format(interval.dateto, 'dd/MM/yyyy')}">              
        </li> 
       </ul> 
      </div> 
     </div> 
    </div> 
</div><!--Global validation results--> 

感謝。

関連する問題