请看下面的代码。从不调用函数生成优惠券。processCouponGeneration 和 userPageBacked 在 viewScope 中,但 headerBacked 在 requestScope 中。尝试将质数 p:commandButton 更改为 h:commandButton,但它不起作用。如果我将 headerBacking.currentUser 复制到 viewScoped 变量,则使用 c:set;使用此变量而不是headerBacking.currentUser,函数generateBondon被触发。因此,想要确认这是否是预期行为。这些是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>
它应该可以工作。确保你所有管理的豆子中都有所有的吸气剂和孵化器。