Primefaces JSF ViewScope bean未实例化

Primefaces JSF ViewScope bean未实例化,primefaces,java-8,jsf-2.2,tomcat8,managed-bean,Primefaces,Java 8,Jsf 2.2,Tomcat8,Managed Bean,我有一个视图范围的jsf托管bean,当我向它添加方法时,它没有被实例化。此bean使用会话范围的bean并尝试从中访问数据 示例代码 @ManagedBean @ViewScoped public class DecodingBean implements Serializable { private Charge charge; @ManagedProperty(value = "#{configBean}") private ConfigBean configBean; public

我有一个视图范围的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", ""));
    }
}

如果删除save方法,bean将被实例化

修改jsf库的版本后,这个问题就消失了。 我有2.2.7版本的jar和不同版本的WebFacesConfig


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

您是否看到任何错误消息?若您的某些类位于另一个项目中,并且并没有添加到War的部署程序集中,请检查日志以查看是否得到ClassNotFoundException。@Ravi是正确的。。。。调试…那么您现在使用什么版本?4.3.1? 那么是哪种实现呢?JSF2.2.0和primefaces 6.2.3您从2.2.7升级到了2.2.0进行了修复?奇怪的那我就去2.2.14