valueChangeListener is being called before the setters, even with
immediate="true"
----------------------------------------------------------------------------------
Key: MYFACES-1492
URL: http://issues.apache.org/jira/browse/MYFACES-1492
Project: MyFaces Core
Issue Type: Bug
Components: General
Affects Versions: 1.1.4
Reporter: Mircea Zahan
Priority: Critical
valueChangeListener is being called before the setters, even with
immediate="true".
This is not the right behavior since it overwrites any property modified in the
event handler.
<t:panelGrid columns="2" cellpadding="0" cellspacing="5px" columnClasses="left
top, left top">
<t:outputLabel for="infoId" value="Options"/>
<t:selectOneMenu id="infoId" value="#{productBean.infoId}"
onchange="submit()" valueChangeListener="#{productBean.valueChangedHandler}"
immediate="true">
<f:selectItem itemValue="-1" itemLabel="<new short info>"/>
<f:selectItems value="#{productBean.shortInfoSelectItems}"/>
</t:selectOneMenu>
<t:outputLabel for="descText" value="Description"/>
<t:inputTextarea id="descText" rows="8" value="#{productBean.description}"/>
<t:outputLabel for="utilText" value="Usage"/>
<t:inputTextarea id="utilText" styleClass="wXXXL" rows="8"
value="#{productBean.usage}"/>
</t:panelGrid>
public class ProductBean {
private Long infoId;
private String description;
private String usage;
// .... setters and getters for the above properties
public void valueChangedHandler(ValueChangeEvent event) {
Long infoId = (Long) event.getNewValue();
if ((infoId != null) && (infoId > 0)) {
//DataService and ProductInfo are related to Hibernate
ProductInfo info = DataService.getProductInfo(infoId);
this.description = info.getDescription();
this.usage = info.getUsage();
}
}
}
Description and Usage properties can never be changed since they get
overwritten with the initial values.
:(((((((((((((((((((((((((
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira