Hybris:如何将 class 作为参数传递给 cms:component?
Hybris: How to pass class as a parameter to cms:component?
我已经开始学习 Hybris,我想了解如何将 class 作为参数传递给自定义 CMS 组件(用于组件的根元素)。
假设在名为 customNavigationComponent.jsp
的 jsp 文件中,我有这段代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="cms" uri="http://hybris.com/tld/cmstags"%>
<c:forEach items="${navigation.entries}" var="navigationLink">
<div class="custom-component-wrapper">
<cms:component component="${navigationLink.item}"/>
</div>
</c:forEach>
自定义组件如下所示:
<a href="${component.url}">
<div>${component.linkText}</div>
</a>
我想了解我需要做什么才能将 class navigation-link
作为参数传递,如下所示:
<cms:component component="${navigationLink.item}" class="navigation-link"/>
这样渲染的结果将类似于:
<a href="whosebug.com" class="navigation-link">
<div>Lorem Ipsum</div>
</a>
cms:component
中没有调用 class
的属性,因此以下语句将不起作用:
<cms:component component="${navigationLink.item}" class="navigation-link"/>
为了更好的理解,可以和c:forEach
对比一下。在 https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/forEach.html, you will find a list of attributes available with c:forEach
and if you want to dig deeper, you can further check https://tomcat.apache.org/taglibs/standard/apidocs/javax/servlet/jsp/jstl/core/LoopTagSupport.html
如果您想使用您的声明,您将需要创建一个自定义标签。
我已经开始学习 Hybris,我想了解如何将 class 作为参数传递给自定义 CMS 组件(用于组件的根元素)。
假设在名为 customNavigationComponent.jsp
的 jsp 文件中,我有这段代码:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="cms" uri="http://hybris.com/tld/cmstags"%>
<c:forEach items="${navigation.entries}" var="navigationLink">
<div class="custom-component-wrapper">
<cms:component component="${navigationLink.item}"/>
</div>
</c:forEach>
自定义组件如下所示:
<a href="${component.url}">
<div>${component.linkText}</div>
</a>
我想了解我需要做什么才能将 class navigation-link
作为参数传递,如下所示:
<cms:component component="${navigationLink.item}" class="navigation-link"/>
这样渲染的结果将类似于:
<a href="whosebug.com" class="navigation-link">
<div>Lorem Ipsum</div>
</a>
cms:component
中没有调用 class
的属性,因此以下语句将不起作用:
<cms:component component="${navigationLink.item}" class="navigation-link"/>
为了更好的理解,可以和c:forEach
对比一下。在 https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/forEach.html, you will find a list of attributes available with c:forEach
and if you want to dig deeper, you can further check https://tomcat.apache.org/taglibs/standard/apidocs/javax/servlet/jsp/jstl/core/LoopTagSupport.html
如果您想使用您的声明,您将需要创建一个自定义标签。