Тег 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 по процессорам и диалектам:

Другие вопросы по тегам