GRAVE: java.lang.NullPointerException javax.faces.el.EvaluationException: java.lang.NullPointerException

Hola!

Alguien me podria ayudar?
Estoy trabajando con visual JSF y Hibernate (soy nueva en esto). Se trata de una pagina para llenar un cuestionario, en el que ya estan dados de alta los usuarios.
Tengo una página que contiene 2 fragmentos, en uno esta la informacion academica del usuario, y en el otro la informacion referente al cuestionario.
Tengo un bean llamado usuario, que contiene toda la informacion de este. Cuando el usuario inicia sesion, se muestra toda su informacion en los dos fragmentos, el problema es a la hora del saveOrUpdate, ya que me manda este error GRAVE: java.lang.NullPointerException javax.faces.el.EvaluationException: java.lang.NullPointerException.

El bean usuario esta mapeado como de session.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Shadonwk

porias postear tu metodo

porias postear tu metodo donde haces el Save, usas un DAO??? en resumen se necesitan un poco mas de detalles parapoder ayudarte.

Imagen de ro0206

metodo

Este es el metodo:

public String actualizacionCuestionario() {
String txDomM = (String) txDomMia.getValue();
String txTelA = (String) txTelAlu.getValue();
String txCorE = (String) txCorEle.getValue();
String txNomT = (String) txNomTut.getValue();
String txDomF = (String) txDomFam.getValue();
String txTelF = (String) txTelFam.getValue();
boolean falta = false;

Session session = HerramientasHibernate.beginTransaction();
alumno alum1 = new alumno();

alum1 = (alumno) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("alumno1");

if (txDomM == null || txDomM.equals("") || txTelA == null || txTelA.equals("") || txCorE == null || txCorE.equals("") || txNomT == null || txNomT.equals("") || txDomF == null || txDomF.equals("") || txTelF == null || txTelF.equals("")) {
falta = true;
}

if (falta == true) {
return "fail";
} else {
session.saveOrUpdate(alum1);
HerramientasHibernate.commit();
return "parte2";
}
}

Aqui lo mapeo:

    <managed-bean>
        <managed-bean-name>alumno1</managed-bean-name>
        <managed-bean-class>usuarios.alumno</managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>

Esta es la informacion que se muestra de el fragmento del cuestionario:

        <webuijsf:textField binding="#{cuestionario_parteI.txDomMia}" columns="50" id="txDomMia" immediate="true" label="Domicilio en Miahuatlán :"
            onClick="setAyudaP1('divDomicilioAlu');" onKeyPress="setAyudaP1('divDomicilioAlu');" required="true"
            style="font-family: 'Cambria'; font-size: 14px; left: 48px; top: 96px; position: absolute" text="#{login.alumno.domicilioAlu}"/>
        <webuijsf:textField binding="#{cuestionario_parteI.txTelAlu}" id="txTelAlu" immediate="true" label="Télefono del alumno (a) :"
            onClick="setAyudaP1('divTelefonoAlu');" required="true" style="font-family: 'Cambria'; font-size: 14px; left: 56px; top: 134px; position: absolute" text="#{login.alumno.telefonoAlu}"/>
        <webuijsf:textField binding="#{cuestionario_parteI.txCorEle}" columns="50" id="txCorEle" label="Correo electrónico : "
            onClick="setAyudaP1('divCorreoAlu');" style="font-family: 'Cambria'; font-size: 14px; left: 86px; top: 172px; position: absolute" text="#{login.alumno.emailAlu}"/>
        <webuijsf:textField binding="#{cuestionario_parteI.txNomTut}" columns="50" id="txNomTut" immediate="true" label="Nombre del padre o tutor :"
            onClick="setAyudaP1('divNombreTut');" required="true" style="font-family: 'Cambria'; font-size: 14px; left: 48px; top: 210px; position: absolute" text="#{login.alumno.tutorAlu}"/>
        <webuijsf:dropDown binding="#{cuestionario_parteI.cbMun}" converter="#{cuestionario_parteI.cbMunConverter}" id="cbMun" immediate="true"
            items="#{cuestionario_parteI.municipioDataProvider.options['clave_mun,nombre_mun']}" label="Municipio :    "
            onChange="webui.suntheme4_2.common.timeoutSubmitForm(this.form, 'cbMun');" onClick="setAyudaP1('divMunicipio');"
            style="font-family: 'Cambria'; font-size: 14px; left: 93px; top: 280px; position: absolute; visibility: visible; width: 300px" valueChangeListenerExpression="#{cuestionario_parteI.cbMun_processValueChange}"/>
        <webuijsf:dropDown binding="#{cuestionario_parteI.cbLoc}" converter="#{cuestionario_parteI.cbLocConverter}" id="cbLoc"
            items="#{cuestionario_parteI.localidadDataProvider.options['clave_loc,nombre_loc']}" label="Localidad :" onClick="setAyudaP1('divLocalidad');" style="font-family: 'Cambria'; font-size: 14px; left: 97px; top: 322px; position: absolute; width: 300px"/>
        <webuijsf:textField binding="#{cuestionario_parteI.txTelFam}" id="txTelFam" label="Teléfono familiar :" onClick="setAyudaP1('divTelefonoFam');"
            required="true" style="font-family: 'Cambria'; font-size: 14px; left: 55px; top: 410px; position: absolute" text="#{login.alumno.telFamiliar}"/>
        <webuijsf:textField binding="#{cuestionario_parteI.txDomFam}" columns="48" id="txDomFam" immediate="true" label="Domicilio familiar :"
            onClick="setAyudaP1('divDomicilioFam');" required="true" style="font-family: 'Cambria'; font-size: 14px; left: 48px; top: 368px; position: absolute" text="#{login.alumno.domFamiliar}"/>
Imagen de Shadonwk

corrigeme, cual es la

corrigeme, cual es la diferencia entre Visual JSF, JSF normalito¡¡??

Imagen de ro0206

Visual JSF

Solo el entorno gráfico para arrastrar componetes.

Imagen de ro0206

solucionado

Gracias, el problema esta resuelto... era algo muy trivial pero que no sabia.

Imagen de ezamudio

y qué fue?

"algo muy trivial pero que no sabía"

Por más trivial que lo consideres, si pones aquí la solución, alguien en el futuro podrá leer tu post, y si tiene la misma duda, tendrá la respuesta en tu comentario.

Imagen de ro0206

ok, tienes razón

Tenia tres beans, uno llamado sesion, usuario y alumno.
El de sesion es el que valida si el usuario existe y verifica sus datos para inciar sesion. alumno extiende de usuario.
Necesitaba guardar la informacion de alumno. Lo que estaba haciendo era obtener la sesion de alumno:
alumno alumno1 = (alumno) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("alumno");
por lo que se quedaba en alumno, el cual era nulo. El que tiene la informacion es sesion.
y lo unico que hice fue obtener sesion, que es donde se encuentra la informacion del alumno logeado.
sesion alumno1 = (sesion) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("sesion");