我有我的豆ValueChangeEvent getOldValue()爲null
public void valueChange(ValueChangeEvent event){
oldValue = (String) event.getOldValue();
newvalue = (String) event.getNewValue();
logger.info("values " + oldValue + " to " + newvalue);
在我的JSF
<h:selectOneListbox size="1"
value="#{bean.Emp}" onchange="this.form.submit()"
valueChangeListener="#{bean.valueChange}
下面的方法,我可以看到oldValue
總是空,可能是什麼原因這個?
我的JSF版本是1.1,頁面範圍是request
。
感謝
更新1
輔助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);
}
你能檢查一下,你的valueChange事件是否正在執行? – Kushan 2012-03-08 08:21:37
是的,它確實執行。 'logger.info(「values」+ oldValue +「to」+ newvalue);'是來自'public void valueChange(ValueChangeEvent event){'的comin另外我可以看到來自'event.getNewValue()'的信息值 – user75ponic 2012-03-08 08:24:10
onchange事件可能是原因。如果您手動提交表單,例如用commandButton? – 2012-03-08 08:24:18