如何使 Hybris CMSParagraphComponent 打印变量值

How to make Hybris CMSParagraphComponent print variable value

有没有办法让 CMSParagraphComponent 打印变量值?

在我的控制器上有这样的东西:

model.addAttribute("isInvoiceAvailable", currentBaseStore.isAccountPaymentAvailable());

return ControllerConstants.Views.Pages.Account.PAYMENT_OPTIONS_LANDING_PAGE;

我的 jsp 看起来像这样:

    <cms:pageSlot position="Section1" var="feature">
        <c:set var="adjustPosition" value="${true}" />
        <cms:component component="${feature}" element="div" class="span-24 section1Template7 cms_disp-img_slot"/>
    </cms:pageSlot>

上面提到的组件是一个 CMSParagraphComponent。

CMSParagraphComponent 内容如下所示:

UPDATE CMSParagraphComponent ; $contentCV[unique=true] ; uid[unique=true]     ; content[lang=$lang]
 ;                         ; paymentOptionsParagraph ; "
 <h3>Payment Options</h3>
 <br>
 ${isInvoiceAvailable}
 $isInvoiceAvailable
 <h4>Credit card</h4>
 <br>
 <p>
    
    MasterCard, Visa
 </p>"

当页面加载时,它会打印内容,就好像没有变量一样,如下所示:

有没有办法让组件从页面内容打印一些变量值?

CMSParagraphComponent 使用 CMSParagraphComponentRenderer.java 呈现,因此 Expression Language 目前不可用渲染,因此,您尝试做的事情是不可能的。

我认为对于您的用例,JSPIncludeComponent 更合适,另一种解决方案是创建您自己的组件类型并使用 JSP 文件来呈现它。