2015-04-24 19 views
2

У меня есть такой код:Thymeleaf: переназначьте локальную переменную

<div th:each="element : ${list}" th:with="test=false"> 
    <div th:each="element2 : ${list2}"> 
     <div th:if="element2.name == 'someName'"> 
      <div th:with="test=true">test changed</div> 
     </div> 
    </div> 
    <div th:text="${test}"></div> 
</div> 

, но переменная «тест» всегда всегда ложно. Что я могу сделать?

+0

Возможный дубликат [Изменение переменных тимелеапа] (http://stackoverflow.com/questions/22597604/thymeleaf-change-variable) –

ответ

1

Это потому, что переменная, определенная в th:with, доступна только в пределах содержащего тега <div>. Это объясняется в руководстве Using Thymeleaf Guide, Локальные переменные section.

Невозможно обновить локальную переменную глобально, используя th:with.

+0

Я знаю ... Есть ли другой способ (без th: with), чтобы достичь того же результат? –

+0

Я думаю, что нет возможности использовать только Thymeleaf, для достижения чего-то подобного возможно может быть использование javascript или использование определенного атрибута модели, проверьте: http://forum.thymeleaf.org/Simple-Counter-with-defined-variable- td4026976.html –

Смежные вопросы