2017-01-12 10 views
0

2式に一致するようにth:if文を実行するにはどうすればよいですか?thymeleafでth:if文を実行する方法は?

<form class="form-horizontal" th:object="${server}" th:action="@{/addServer}" method="POST"> 
    <input type="hidden" th:field="*{id}"/> 

    <div class="form-group"> 
    <label class="col-sm-2 control-label">Host:</label> 
     <div class="col-sm-10"> 
     <input type="text" style="width: 500px" class="form-control" th:field="*{host}"/> 
</div> 
</div> 
</form> 

<!-----------------------------------------------------------------------------> 
<tr th:object="${test}"> 
    <td th:text ="${test.Status}"></td> 
    <td th:text="${test.host}"></td> 
    <td th:text="${test.version}"></td> 
</tr> 

test.hostが= th:field = "* host"であるかどうかを確認するにはどうすればよいですか?これも可能ですか?

答えて

1

*{host}${server.host}と同じです(サーバーはフォームのオブジェクトです)。それを他のものと比較するために、同じ表現を使用することができます。以下のような何か:

th:if="${server.host == test.host}" 

EDIT: これはあなたがやりたいのか?

<table> 
    <tr th:each="t: ${test}" th:if="${server.host == t.host}"> 
    <td th:text="${t.Status}" /> 
    <td th:text="${t.host}" /> 
    <td th:text="${t.version}" /> 
    </tr> 
</table> 
+0

コンパイラcan not find server.host。異なるdivタグでこの問題が発生するのでしょうか? – Jesse

+0

それはすべてスコープに関するものです...あなたのタイメレフでは '$ {server}'はどこに定義されていますか?モデル上にあれば、どのタグでもそのモデルにアクセスできるはずです。別の場所に定義した場合は、同じ式を使用する必要があります。 – Metroids

+0

私はそれを得ましたが、私はそれが働きたかったように働いていません。 index [x]を使用してホストを指定すると機能しました。私はそれが全体のリストを反復することを望んだ。 test.hostがserver.hostと一致する場合インデックスを指定したくありません[x] – Jesse

関連する問題