doorsHome.instance is an instance of the Doors object. The contactId is the Id for the object. It is an integer. The value resolves just fine and the label on the button states
Create New Contact 2348
Value of doorsHome.instance.contactId is 2348.
<a4j:commandButton ajaxSingle="true" value="Create New Contact #{doorsHome.instance.contactId}" reRender="p1" actionListener="#{alternate1Home.createContact(doorsHome.instance.contactId)}" />
the actionListener is defined as follows (for the moment):
public void createContact(Integer d) { System.out.println(d); }
alternate1Home.createContact(doorsHome.instance.contactId) the value that is passed in is 0. Or rather, no value is passed in and the new Integer object has a value of 0.
However, alternate1Home.createContact(2348)
passes in 2348 correctly.
What is going on here? Why does the object that is being passed in not actually make it to the actionListener?
TDR
The Richfaces manual says the following about actionListener usage:
javax.el.MethodExpression (signature must match void actionListener(javax.faces.event.ActionEvent))