请查看下面的代码。永远不会调用函数generateCoupon。 processCouponGeneration和userPageBacking在viewScope中,但headerBacking在requestScope中。尝试将primefaces p:commandButton更改为h:commandButton,但它不起作用。 使用c:set如果我将headerBacking.currentUser复制到viewScoped变量;使用此变量而不是headerBacking.currentUser,函数generateCoupon被触发。所以,想确认这是否是预期的行为。这些问题在JSF中让我很烦恼,我不知道是否可以调试它。
<p:commandButton value="Correct"
action="#{processCouponGeneration.generateCoupon}">
<f:setPropertyActionListener
target="#{processCouponGeneration.bpd}"
value="#{userPageBacking.selectedPromoToDisplay.wupdBrandpromo}" />
<f:setPropertyActionListener
target="#{processCouponGeneration.bpdd}"
value="#{bpddVar}" />
<f:setPropertyActionListener
target="#{processCouponGeneration.promoter}"
value="#{userPageBacking.user}" />
<f:setPropertyActionListener
target="#{processCouponGeneration.buyer}"
value="#{headerBacking.currentUser}" />
</p:commandButton>
答案 0 :(得分:0)
它应该工作。确保你拥有所有托管bean中的所有getter和setter。