Hola,
Estoy utilizando para la sesion en Struts2 la interface SessionAware, aunque no se si correctamente. Utilizo una clase que llamo Login.java y ahí hago todas las tareas:
1.- Cojo el usuario y contraseña que se entra en la jsp
2.- Hago una consulta en la BBDD con hibernate para saber que existe
Este es el codigo
Código:
public String execute() {
try {
hibernateSession = HibernateUtil.getSessionFactory().openSession();
hibernateSession.beginTransaction();
if (usuarioForm != null && contrasenaForm != null && (!usuarioForm.equals(""))
&& (!contrasenaForm.equals(""))) {
//Query peral usuario
String queryUsuario = "FROM Usuario WHERE usuario='" + usuarioForm + "'AND contrasena='" + contrasenaForm + "'";
usuario = (Usuario) hibernateSession.createQuery(queryUsuario).uniqueResult();
session.put("loginId", usuarioForm);
} else {
//Acción por si el formulario està vacio
addActionError("Debe de introducir datos");
return INPUT;
}
//Acción por si no existe
if (usuario == null) {
addActionError("El usuarior no existe");
return INPUT;
}
hibernateSession.flush();
hibernateSession.close();
} catch (HibernateException e) {
e.printStackTrace();
}
if (usuario != null){
return SUCCESS;
}
Luego, en caso de que el usuario exista accede a otras partes del web, pero entiendo que los datos del usuario ya están en el contexto del Java, en el objeto usuario. Mi pregunta es ¿si defino una nueva acción en struts2 paras ver los datos de ese usuario en una JSP debería de verlos sin tenener que volver ha hacer una consulta a la BBDD o es oblogatorio volver ha hacer la consulta?
Me he econtrado este hilo
http://www.forosdelweb.com/f45/valid...ts-2-a-904381/ y voy a darle un vistazo.
Saludos