Я работаю над приложением весенней загрузки. У меня есть следующий блок чабреца:
<Produkt th:if="${visibility}" th:each="user: ${userList.myList}">
<Name th:text="${user.name}"/>
</Produkt>
У меня есть следующий java код:
@Test
public void myTest() {
Context context = new Context();
Map<String, List<Map<String, String>>> userValuesList = new HashMap<>();
boolean visibility = getVisibility();
if (visibility) {
List<Map<String, String>> vv = new ArrayList<>();
Map<String, String> map = new HashMap<>();
map.put("name", "filip");
vv.add(map);
Map<String, String> map2 = new HashMap<>();
map2.put("name", "test");
vv.add(map2);
userValuesList.put("myList", vv);
}
context.setVariable("visibility", visibility);
context.setVariable("userList", userValuesList);
springTemplateEngine.process("test.xml", context);
}
Поскольку я добавляю этот myList только тогда, когда видимость истинна, я получаю следующая ошибка:
Исключительная ситуация при вычислении выражения SpringEL: "userList.myList"
Мой вопрос заключается в том, что этот userList.myList может быть обработан springTemplateEngine, только если visibility is true?
Конечный результат, которого я хочу достичь:
<Produkt>
<Name>filip</Name>
</Produkt>
<Produkt>
<Name>test</Name>
</Produkt>
, а в случае, если видимость ложна, весь этот тег Produkt пропадет.