rich:calendar not calling setter method on EJB
asookazian Jan 13, 2010 12:11 PMFor my Seam 2.x app, I have the following rich:calendar in my h:form:
<rich:calendar inputClass="dateField"
rendered="#{not empty cardBillingAndSettlementEditorUI.merchantBillingGroup}"
required="true"
disabled="#{(pageaction == 'view') or ((pageaction == 'edit') and (cardBillingAndSettlementEditorUI.billingProgram == 'INCREMENTAL')) or (empty cardBillingAndSettlementEditorUI.merchantBillingGroup)}"
value="#{cardBillingAndSettlementEditorUI.merchantBillingGroupEffectiveDate}"
datePattern="MM/dd/yyyy"
enableManualInput="false"
label="#{messages['/restricted/merchant/current_billing_group.xhtml/field.effectiveDate']}">
<a4j:support event="onchanged"
reRender="#{panelId}"
requestDelay="0"
eventsQueue="select"
ignoreDupResponses="true"
onsubmit="showProgress();"
oncomplete="hideProgress();" />
</rich:calendar>
The following method is not executed when I select a new date (i.e. when the onchanged event is fired and thus the form is submitted, the setter is not called): setMerchantBillingGroupEffectiveDate(). I added a debug stop in Eclipse for this method.
public void setMerchantBillingGroupEffectiveDate(Date effectiveDate) {
if (effectiveDate != null) {
...}
}
What is the reason? This was working before until I had to refactor out a rich:calendar in same form and replace with two h:selectOneMenu components with a4j:commandButton. The form is way too complex to post all the xhtml code here. Any idea why the setter is not being invoked during the JSF lifecycle? Is there any tool (I believe there was something called FacesTrace) I can use to see the exercising of the JSF lifecycle?
I am thinking maybe it's the signature of the method does not match but I did not touch this particular rich:calendar config at all...