2016-09-08 3 views
0

mon problème est le suivant: dans ce codetag thymeleaf e dans la balise 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> 

la ligne <h1 th:utext="${BLC_PAGE.pageFields[menu_name]}"></h1> obtient le nom du menu réel. J'ai besoin du menuName dans cette ligne <blc:menu resultVar="menuItems" menuName="${BLC_PAGE.pageFields[menu_name]}" /> pour faire la même chose, mais "${BLC_PAGE.pageFields[menu_name]}" n'est pas approprié, car il vient de la bibliothèque de balises thymeleaf. Une idée de comment obtenir cette valeur dans blc: tag de menu?

Répondre

1

Afin de résoudre l'expression Thymeleaf ${BLC_PAGE.pageFields[menu_name]}, vous devrez l'enrouler comme suit: th:attr="menuName=${BLC_PAGE.pageFields[menu_name]}". Étant donné que menuName n'est pas un attribut HTML standard, vous ne pourrez pas simplement ajouter l'espace de noms Thymeleaf à menuName (c'est-à-dire th:menuName) et, sans l'espace de noms th:, Thymeleaf ne sait pas qu'il doit résoudre les expressions. L'attribut Thymeleaf attr vous permet d'utiliser des attributs HTML non standard avec Thymeleaf. Pour plus d'informations sur la définition de valeurs d'attribut à l'aide de Thymeleaf, vous pouvez consulter le document their documentation.

Voici les liens vers la documentation et feuillue thymeleaf sur les processeurs et dialectes:

+1

- Feuillu: http://www.broadleafcommerce.com/docs/core/current/broadleaf-concepts/couche de présentation # thymeleaf – ProfEidarios