JSF ViewScoped bean 未实例化



我有一个视图范围的jsf托管bean,当我向其添加方法时,它没有实例化。此 Bean 使用会话范围的 Bean,并尝试从中访问数据。

示例代码。

@ManagedBean
@ViewScoped
public class DecodingBean implements Serializable {
private Charge charge;
@ManagedProperty(value = "#{configBean}")
private ConfigBean configBean;
public void setConfigBean(ConfigBean configBean) {
this.configBean = configBean;
}
@PostConstruct
public void initialize() {
charge = new Charge();
}
public void save() {
try (DbConnection dbConnection = DbUtil.getDbConnection();
MyDao1 myDao1= new  MyDao1 (dbConnection );
MyDao2 myDao2= new MyDao2 (dbConnection )) {
charge.setPId(selectedPId);
charge.setSId(selectedSId);
charge.setStatusId(configBean.getNewStatusId());
myDao2.updateCharge(charge);
myDao1.deleteModifier(charge.getId(), ModifierType.P.toString());
insertChargeModifiers(charge, myDao1);
charge = new Charge();
} catch (Exception ex) {
LOG.error("Error saving Charge", ex);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error occurred while saving, please try again", ""));
}
}

如果我删除保存方法,则 bean 将被实例化。

更正 jsf 库版本后,此问题已消失。 我有 2.2.7 的 jar 和不同版本的 web-facesconfig。

仍然不确定这是原因,但它已经消失了。

相关内容

  • 没有找到相关文章

最新更新