我使用 .xhtml 和视图范围的托管 bean 创建了一个自定义标记库 (JSF 2.1)。
在 taglib 中,我使用一个参数来打印一个购买按钮,如下所示:
<ui:composition>
<ui:param name="complement" value="_#{catId}_#{prdId}" />
<h:form id="formRating#{complement}">
<h:panelGrid columns="3">
<h:panelGrid>
<p:commandButton action="#{BuyBean.buy(catId, prdId)}" value="Buy" update="formRating#{complement}" />
<h:outputText value="#{BuyBean.getTotal(catId, prdId)}" />
</h:panelGrid>
</h:panelGrid>
</h:form>
仅当我调用此标记库一次时,它才能正常工作。如果我调用两次或多次,他总是将相同的参数传递给“购买”。
<myTaglib:customTaglib catId="1" prdId="2" />
<myTaglib:customTaglib catId="3" prdId="4" />
<myTaglib:customTaglib catId="5" prdId="6" />
结果是 3 个按钮以“1”和“2”作为参数调用“购买”。
这是正确的行为还是我错过了什么?
非常感谢!