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