目标无法访问'null'返回null

时间:2013-09-12 23:15:32

标签: jsf

我在这个页面中的新内容,我会简明扼要地说这个代码行有问题而且我不该做什么。我知道这个问题已得到解答,但我的问题仍然存在......我需要你的帮助

pd:附上我的代码

public class CuentaUsuario  implements java.io.Serializable {

 private Integer idcuentaUsuario;
 private String username;
 private String password;
 private String correo;
 private Date fechaCreacion;
 private String creacionUsuario;
 private Date fechaModificacion;
 private String modificacionUsuario;
 private Integer estadoUsuario;
 private int idRol;

public CuentaUsuario() {
    this.idcuentaUsuario = 0;
}


public CuentaUsuario(String username, String password, Date fechaCreacion, int idRol) {
    this.username = username;
    this.password = password;
    this.fechaCreacion = fechaCreacion;
    this.idRol = idRol;
}
public CuentaUsuario(String username, String password, String correo, Date fechaCreacion, String creacionUsuario, Date fechaModificacion, String modificacionUsuario, Integer estadoUsuario, int idRol) {
   this.username = username;
   this.password = password;
   this.correo = correo;
   this.fechaCreacion = fechaCreacion;
   this.creacionUsuario = creacionUsuario;
   this.fechaModificacion = fechaModificacion;
   this.modificacionUsuario = modificacionUsuario;
   this.estadoUsuario = estadoUsuario;
   this.idRol = idRol;
}

 @Id @GeneratedValue(strategy=IDENTITY)

@Column(name="idcuenta_usuario", unique=true, nullable=false)
public Integer getIdcuentaUsuario() {
    return this.idcuentaUsuario;
}

public void setIdcuentaUsuario(Integer idcuentaUsuario) {
    this.idcuentaUsuario = idcuentaUsuario;
}

@Column(name="username", nullable=false, length=45)
public String getUsername() {
    return this.username;
}

public void setUsername(String username) {
    this.username = username;
}

@Column(name="password", nullable=false, length=45)
public String getPassword() {
    return this.password;
}

public void setPassword(String password) {
    this.password = password;
}

@Column(name="correo", length=45)
public String getCorreo() {
    return this.correo;
}

public void setCorreo(String correo) {
    this.correo = correo;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name="fecha_creacion", nullable=false, length=19)
public Date getFechaCreacion() {
    return this.fechaCreacion;
}

public void setFechaCreacion(Date fechaCreacion) {
    this.fechaCreacion = fechaCreacion;
}

@Column(name="creacion_usuario", length=45)
public String getCreacionUsuario() {
    return this.creacionUsuario;
}

public void setCreacionUsuario(String creacionUsuario) {
    this.creacionUsuario = creacionUsuario;
}
@Temporal(TemporalType.TIMESTAMP)
@Column(name="fecha_modificacion", length=19)
public Date getFechaModificacion() {
    return this.fechaModificacion;
}

public void setFechaModificacion(Date fechaModificacion) {
    this.fechaModificacion = fechaModificacion;
}

@Column(name="modificacion_usuario", length=45)
public String getModificacionUsuario() {
    return this.modificacionUsuario;
}

public void setModificacionUsuario(String modificacionUsuario) {
    this.modificacionUsuario = modificacionUsuario;
}

@Column(name="estado_usuario")
public Integer getEstadoUsuario() {
    return this.estadoUsuario;
}

public void setEstadoUsuario(Integer estadoUsuario) {
    this.estadoUsuario = estadoUsuario;
}

@Column(name="id_rol", nullable=false)
public int getIdRol() {
    return this.idRol;
}

public void setIdRol(int idRol) {
    this.idRol = idRol;
}
}

这是视图

<h:form id ="formCreate">
    <p:dialog header="CREACION DE CUENTA" widgetVar="dialogUsuarioCreate"
        resizable="false" id="dlgUsuarioCreate"
        showEffect="fade" hideEffect="explode" modal="true">  
        <h:panelGrid id="display" columns="2" cellpadding="4" style="margin:0 auto;">  
            <h:outputText value="Usuario :" />  
            <p:inputText value="#{cuentaUsuarioBean.selectedUsuarios.username}"/> 

            <h:outputText value="Password :" />  
            <p:inputText value="#{cuentaUsuarioBean.selectedUsuarios.password}"/>

            <h:outputText value="Rol :" />  
            <p:inputText value="#{cuentaUsuarioBean.selectedUsuarios.idRol}"/>  

            <h:outputText value="Correo :" />  
            <p:inputText value="#{cuentaUsuarioBean.selectedUsuarios.correo}" size="30"/>  

            <f:facet name="footer">
                <p:separator />
                <p:commandButton id="btnCreateAceptar" update=":formDataTable , :msgs"
                    oncomplete="dialogUsuarioCreate.hide()"
                    actionListener="#{cuentaUsuarioBean.btnCreateCuenta(actionEvent)}"
                    icon="ui-icon-disk" title="guardar" value="Guardar" />
                <p:commandButton id="btnCreateCancelar"
                    oncomplete="dialogUsuarioCreate.hide()"
                    icon="ui-icon-circle-close" title="Cancelar" value="Cancelar" />
            </f:facet>
        </h:panelGrid>  
    </p:dialog>  
</h:form>

1 个答案:

答案 0 :(得分:0)

已经修好了,谢谢你的帮助,但我解决了!非常感谢你。

事实上你是对的,问题是在类(cuentaUsuarioBean)中初始化这个字段(用户名)我做了这个......

public CuentaUsuarioBean() { this.usuarios = new ArrayList<CuentaUsuario>(); this.selectedUsuarios = new CuentaUsuario(); /* this is the new line */ }