繁体   English   中英

FaceConverter中的NullPointException

[英]NullPointException in FaceConverter

我正在使用jpa和jsf开发。我没有放置所有代码,因为它很大,在为netebeans 7.2生成的代码中有一个NullPointException。 我认为Netbeans犯了错误,但我无法修复它。

@FacesConverter(forClass = MaterialEntrada.class)
public static class MaterialEntradaControllerConverter implements Converter {

    public Object getAsObject(FacesContext facesContext, UIComponent component, String value) {
        if (value == null || value.length() == 0) {
            return null;
        }
        MaterialEntradaController controller = (MaterialEntradaController) facesContext.getApplication().getELResolver().
                getValue(facesContext.getELContext(), null, "materialEntradaController");
        return controller.ejbFacade.find(getKey(value));
    }

    java.lang.Integer getKey(String value) {
        java.lang.Integer key;
        key = Integer.valueOf(value);
        return key;
    }

    String getStringKey(java.lang.Integer value) {
        StringBuffer sb = new StringBuffer();
        sb.append(value);
        return sb.toString();
    }

    public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
        if (object == null) {
            return null;
        }
        if (object instanceof MaterialEntrada) {
            MaterialEntrada o = (MaterialEntrada) object;
            return getStringKey(o.getId());
        } else {
            throw new IllegalArgumentException("object " + object + " is of type " + object.getClass().getName() + "; expected type: " + MaterialEntrada.class.getName());
        }
    }
}

该错误是由以下行引起的:

return controller.ejbFacade.find(getKey(value));

ejbFacate为空,但控制器不为空。

发生的事情是控制器正在由jsf初始化,但ejbfacade尚未初始化。 将执行此操作所需的代码添加到构造函数中,或创建一个getter在调用时执行此操作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM