1
请看看下面的代码。函数generateCoupon从不被调用。 processCouponGeneration和userPageBacking在viewScope中,但headerBacking在requestScope中。尝试改变primefaces p:commandButton到h:commandButton,但它不起作用。 如果我将headerBacking.currentUser复制到viewScoped变量,使用c:set;使用这个变量而不是headerBacking.currentUser,函数generateCoupon被触发。所以,想确认这是否是预期的行为。这些都是JSF困扰我的问题,我不知道是否可以调试。JSF中的限制viewScope
<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>
任何缺少的getter/setter都会产生清晰的自我描述EL异常,而不是“无所事事”。 – BalusC 2011-08-04 18:25:57
但是,我不认为这是任何ViewScope问题,因为我尝试了它,并且调用了该方法。 – 2011-08-04 18:28:32
这是正确的。没有OP的进一步细节,这个问题显然是无法回答的。这就是为什么到现在为止没有人回答这个问题)为什么这个问题得到了2点赞赏,这只是远远超出了我的观点。 – BalusC 2011-08-04 18:29:04