Тег Thymeleaf th в теге blc
Моя проблема заключается в следующем: в этом коде
<header>
<h1 th:utext="${BLC_PAGE.pageFields[menu_name]}"></h1>
</header>
<blc:menu resultVar="menuItems" menuName="${BLC_PAGE.pageFields[menu_name]}" />
<ul th:if="${not #lists.isEmpty(menuItems)}">
<li th:each="menuItem : ${menuItems}">
<a th:href="@{${menuItem.url}}" th:class="${menuItemStat.first}? 'home'">
<span th:utext="${menuItem.label}"></span>
</a>
</li>
</ul>
линия <h1 th:utext="${BLC_PAGE.pageFields[menu_name]}"></h1>
получает название актуального меню. Мне нужно menuName в этой строке <blc:menu resultVar="menuItems" menuName="${BLC_PAGE.pageFields[menu_name]}" />
сделать то же самое, но "${BLC_PAGE.pageFields[menu_name]}"
не подходит, так как это из библиотеки тэгов. Есть идеи, как получить это значение в теге blc:menu?
1 ответ
Чтобы разрешить выражение Thymeleaf ${BLC_PAGE.pageFields[menu_name]}
, вам нужно будет обернуть его так: th:attr="menuName=${BLC_PAGE.pageFields[menu_name]}"
, Поскольку menuName не является стандартным атрибутом HTML, вы не сможете просто добавить пространство имен Thymeleaf в menuName (т. Е. th:menuName
) и без th:
Пространство имен, Thymeleaf не знает, что ему нужно разрешать любые выражения. Тимьян лист attr
Атрибут позволяет использовать нестандартные атрибуты HTML с Thymeleaf. Для получения дополнительной информации о настройке значений атрибутов с помощью Thymeleaf вы можете просмотреть их документацию.
Вот ссылки на документацию Broadleaf и Thymeleaf по процессорам и диалектам: