Jsf 2 Primefaces数据表单元格编辑新值和旧值
我有一个数据表,无法获取新旧值。我只能得到新的值 为什么? 用于ajax事件的代码Jsf 2 Primefaces数据表单元格编辑新值和旧值,jsf-2,primefaces,Jsf 2,Primefaces,我有一个数据表,无法获取新旧值。我只能得到新的值 为什么? 用于ajax事件的代码 <p:ajax event="rowEdit" listener="#{productMapBean.onEdit}"/> 应获取旧值的代码: <p:ajax event="rowSelect" listener="#{productMapBean.onRowSelect}"/> 日志说: 14:58:55170信息[stdout](http-/0.0.0.0:8080-2
<p:ajax event="rowEdit" listener="#{productMapBean.onEdit}"/>
应获取旧值的代码:
<p:ajax event="rowSelect" listener="#{productMapBean.onRowSelect}"/>
日志说:
14:58:55170信息[stdout](http-/0.0.0.0:8080-2)开始::onRowSelect
14:58:55170 INFO[stdout](http-/0.0.0:8080-2)row:1-1-DTCC-DFA-q我认为问题在于mappingDataUpdate是可序列化的对象 因为这样做:
public void onRowSelect(SelectEvent event) {
if (((MappingData) event.getObject()) != null) {
mappingDataUpdate = ((MappingData) event.getObject());
this.destination = mappingDataUpdate.getDestination();
this.mappedValue = mappingDataUpdate.getMapped();
this.subProduct = mappingDataUpdate.getSubcode();
this.product = mappingDataUpdate.getCode();
System.out.println("row: " + mappingDataUpdate.getCode() + " - " + mappingDataUpdate.getSubcode() + " - " + mappingDataUpdate.getDestination() + " - "
+ mappingDataUpdate.getMapped());
}
}
有效。你能告诉我我说的对吗??代码是有效的,但我不明白为什么会有错误。你能告诉我我是对的吗??代码是有效的,但我不明白为什么会出现错误。
public void onRowSelect(SelectEvent event) {
System.out.println("BEGIN:: onRowSelect");
if(mappingDataUpdate==null){
if (((MappingData) event.getObject()) != null) {
mappingDataUpdate = ((MappingData) event.getObject());
System.out.println("row: " + mappingDataUpdate.getCode() + " - " + mappingDataUpdate.getSubcode() + " - " + mappingDataUpdate.getDestination() + " - "
+ mappingDataUpdate.getMapped());
}
}
}
mappingDataUpdate
mappingDataUpdate.getCode()
((MappingData) event.getObject()).getCode()
public void onRowSelect(SelectEvent event) {
if (((MappingData) event.getObject()) != null) {
mappingDataUpdate = ((MappingData) event.getObject());
this.destination = mappingDataUpdate.getDestination();
this.mappedValue = mappingDataUpdate.getMapped();
this.subProduct = mappingDataUpdate.getSubcode();
this.product = mappingDataUpdate.getCode();
System.out.println("row: " + mappingDataUpdate.getCode() + " - " + mappingDataUpdate.getSubcode() + " - " + mappingDataUpdate.getDestination() + " - "
+ mappingDataUpdate.getMapped());
}
}