gpt4 book ai didi

java - 杂交 : How to pass class as a parameter to cms:component?

转载 作者:行者123 更新时间:2023-11-30 05:18:44 25 4
gpt4 key购买 nike

我已经开始学习 Hybris,我想了解如何将类作为参数传递给自定义 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>

我想了解我需要做什么才能将类 navigation-link 作为参数传递,如下所示:

<cms:component component="${navigationLink.item}" class="navigation-link"/>

这样渲染的结果将类似于:

<a href="stackoverflow.com" class="navigation-link">
<div>Lorem Ipsum</div>
</a>

最佳答案

cms:component 中没有名为 class 的属性,因此以下语句不起作用:

<cms:component component="${navigationLink.item}" class="navigation-link"/>

请查看https://help.sap.com/doc/a4265d5ea8314eb2929e6cf6fb8e35a5/1811/en-US/de/hybris/platform/cms2lib/cmstags/CMSComponentTag.html

为了更好地理解它,您可以将其与c:forEach进行比较。在https://docs.oracle.com/javaee/5/jstl/1.1/docs/tlddocs/c/forEach.html ,您将找到 c:forEach 可用的属性列表,如果您想深入挖掘,可以进一步检查 https://tomcat.apache.org/taglibs/standard/apidocs/javax/servlet/jsp/jstl/core/LoopTagSupport.html

如果您想使用您的语句,您将需要创建一个自定义标签。

关于java - 杂交 : How to pass class as a parameter to cms:component?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59904133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com