我已经花了更多时间来解决 inputtext 字段中的一些保存或更新问题,我直奔主题:我有带有一些基本属性的基本单输入文本
<h:inputText id="name" value="#{salesController.selectedSalesName}" />
这是 inputText 值的吸气剂
public String getSelectedSalesName(){
for(DealerListView dealer : dealerList){
if(dealer.getDealerId() == getSelectedDealerId()){
return dealer.getName();
}
}
return "";
}
嵌套在那里我使用ajax标签
<f:ajax event="change" render="name" listener="#{salesController.updateSelectedSalesName()}" />
这是用于更新输入文本字段的返回 bean 方法
public void updateSelectedSalesName() {
DealerData dealDat = BeanFactory.getHotelDAOService(DealerData.class).findOne(selectedDealerId);
dealDat.setName(name);
BeanFactory.getHotelDAOService(DealerData.class).update(dealDat);
}
整个结果是堆栈跟踪,它说
value="#{salesController.selectedSalesName}":属性 'selectedSalesName' 在类型 sk.hotel.web.controller.SalesController 上不可写
我知道该 getter 方法需要进行一些更改,但尝试一些没有结果的组合,这些组合可以正确更新数据库的值。
(我不使用任何命令按钮进行提交,仅在该 inputText 字段中按 Enter 时更新响应。)我想要一些指导,无论是在 back-bean 还是 jsf 布局上,或者有人已经解决了类似的情况,如何修改这个保存/更新过程,并可以分享他的解决方案。
感谢大家的建议帖子。问候和美好的一天