I have the following method in my bean
public void valueChange(ValueChangeEvent event){
oldValue = (String) event.getOldValue();
newvalue = (String) event.getNewValue();
logger.info("values " + oldValue + " to " + newvalue );
And in my JSF
<h:selectOneListbox size="1"
value="#{bean.Emp}" onchange="this.form.submit()"
valueChangeListener="#{bean.valueChange}
I could see that oldValue is always null, what could be the reason for this?
My JSF version is 1.1 and page scope is request.
Thanks
Update 1
Backing Bean
public class EmpBackingBean {
private String selectedItemEmp;
public void selectedItemEmp(String selectedItemEmp) {
this.selectedItemEmp= selectedItemEmp;
}
public String getSelectedItemEmp() {
return selectedItemEmp;
}
Managed Bean
EmpBackingBean empBackingBean = new EmpBackingBean();
public EmpBackingBean getVehDetBackingBean() {
return empBackingBean ;
}
public void valueChange(ValueChangeEvent event){
oldValue = (String) event.getOldValue();
newvalue = (String) event.getNewValue();
logger.info("values " + oldValue + " to " + newvalue );
}
The HTML form does not submit the last rendered form values if that is what you are expecting.
The old value is the value in “bean” when the form is submitted. If “bean” is request scope, a new instance will be created every time. I am guessing “Emp” is not initialized, so it will be null.