2017-01-12 6 views
0

Как я могу выполнить оператор th: if для соответствия 2 выражениям?Как сделать заявление 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 = to th: field = "* host"? Возможно ли это?

ответ

1

*{host} такое же, как ${server.host} (потому что сервер - это ваш объект th формы). Чтобы сравнить это с чем-то другим, вы можете использовать это же выражение. Что-то вроде:

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

Компилятор не может найти сервер.host. В другом теге div эта проблема возникла бы? – Jesse

+0

Все дело в области ... Где '$ {server}' определен в вашем тимелеафе? Если это на модели, вы должны иметь доступ к ней в любом теге. Если вы определили его где-то еще, вам придется использовать это же выражение. – Metroids

+0

Я понял, но это не работает так, как я хотел, чтобы он работал. Он работал, когда я использовал index [x] для указания хоста. Я хотел, чтобы он перебирал весь список. Если test.host соответствует server.host. Я не хочу указывать индекс [x] – Jesse