JSF viewScope中的限制

时间:2011-05-24 04:33:48

标签: jsf primefaces

请查看下面的代码。永远不会调用函数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>

1 个答案:

答案 0 :(得分:0)

它应该工作。确保你拥有所有托管bean中的所有getter和setter。