I encounter a problem with JSF value change listener
I have a selection box
<h:selectOneMenu id="selDebtorType" converter="javax.faces.Integer"
validator="#{DebtorController.validateDebtorType}"
valueChangeListener="#{DebtorController.changeDebtorType}"
onchange="this.form.submit();"
value="#{DebtorController.currentDebtor.debtorType}">
<f:selectItems
value="#{DebtorController.debtorTypes}"/>
</h:selectOneMenu>
Aslo I have a input box
<h:inputText id="txtDebtorID" size="20" required="true"
value="#{DebtorController.currentDebtor.debtorPK.debtorID}"/>
Managed bean: DebtorController is in request scope
In select one box there is value change listener. I want to set debtor
ID in there.
But I tried in that method:
public void changeDebtorType(ValueChangeEvent event) {
log.info("Debtor Type has been changed");
log.info("New value is:" + event.getNewValue());
log.info("Debtor ID is:" + currentDebtor.getDebtorPK().getDebtorID());
currentDebtor.getDebtorPK().setDebtorID("abc");
}
log output for debtor ID is null
and after I setting debtor ID, it doesn't display abc in input box
when page rendered.
But I have put something in debtor ID input text box, after changing
selection box, its value is same as I input. Neither I can get this by
get method nor set it by set method.
Is listener has different life cycle? Say it doesn't have update model phase
--
Anthony Hong