«SomeProc» представляет собой пользовательский процессор, который расширяет org.broadleafcommerce.common.web.dialect .AbstractModelVariableModifierProcessor из платформы с широким слоем.
<myproc:someproc /> // as a result is objectCreatedInProcessor
<div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
<div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>
<div th:each="someVar : ${someVars}">
<div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
<div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>
</div>
<div th:classappend="${objectCreatedInProcessor==null?'null':'not_null'}></div>
<div th:classappend="${objectAddedToModelAndView==null?'null1':'not_null_1'}></div>
В выходной результат будет:
<div class='not_null'></div>
<div class='not_null_1'></div>
<div>
<div class='null'></div>
<div class='not_null_1'></div>
<div class='null'></div>
<div class='not_null_1'></div>
<div class='null'></div>
<div class='not_null_1'></div>
</div>
<div class='not_null'></div>
<div class='not_null_1'></div>
полагая, у нас есть три элементы в список $ someVars.
Вопрос в том, почему $ objectCreatedInProcessor beeing сделал NULL в th: каждый цикл. И почему переменная $ objectAddedToModelAndView не сделана NULL и доступна в th: каждый цикл?
Что я делаю неправильно? Что-то я пропустил?
EDIT1: Закрытое условное выражение. Это не было причиной проблемы, это был всего лишь пример плохого кода.
EDIT2: Закрытые классы в отображении результатов.
EDIT3: Forogot упомянуть, что $ someVars - это переменная, добавленная с контроллера в Spring ModelAndView.
Спасибо за ответ, но пример был написан без тестируются, но проблема не существует. Проблема состоит в том, что у нас есть два типа переменных: один, который создается в контроллере Spring и добавлен в объект ModelAndView (objectAddedToModelAndView) (который не равен null в th: каждый) и тот, который добавляется в Процессор с помощью метода org.broadleafcommerce .common.web.dialect.AbstractModelVariableModifierProcessor # addToModel (objectCreatedInProcessor), который превращается в null в th: каждый цикл. –