Foros del Web » Programación para mayores de 30 ;) » Java »

jsp and hibernate

Estas en el tema de jsp and hibernate en el foro de Java en Foros del Web. Que tal amigos del foro, estoy tratando de usar hinernate y jsp(soy nuevo) pero no se como puedo llamar un metodo externo en mi jsp?? ...
  #1 (permalink)  
Antiguo 20/10/2015, 08:37
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 8 meses
Puntos: 11
Busqueda jsp and hibernate

Que tal amigos del foro, estoy tratando de usar hinernate y jsp(soy nuevo) pero no se como puedo llamar un metodo externo en mi jsp??

Por ejemplo tengo en mi clase Users el metodo:
Código Java:
Ver original
  1. public List<Users> listUsers(){
  2.         SessionFactory sf = new Configuration().configure().buildSessionFactory();
  3.         Session session = sf.openSession();
  4.         users = session.createQuery("from users").list();
  5.  
  6.         return users;
  7.     }

Como lo puedo utilizar dentro de mi jsp??
__________________
( + ) lineas de código ( - ) televisión
  #2 (permalink)  
Antiguo 20/10/2015, 10:56
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: jsp and hibernate

Hola:

La forma "fácil" es hacer que ese método sea static, de esta forma, desde jsp puedes llamarlo sin problemas con

Código XML:
Ver original
  1. <%@ page import="paquete.LaClase" %>
  2. <%@ page import="paquete.Users" %>
  3. ...
  4. <% List<Users> users = LaClase.listUsers(); %>

Si no es static, tienes que conseguir una instancia de la claes. Puedes hacerlo en el mismo jsp con un new. La pega es que se hará un new cada vez que alguien visualice la página jsp. Así que lo mejor es guardar la instancia en algún sitio y si no existe crearla. Dentro de jsp tienes una variable "predefinida" que se llama application. donde puedes guardar y recuperar la clase, algo así

Código XML:
Ver original
  1. <%
  2.    if (application.getAttribute("un nombre") == null) {
  3.         application.setAttribute("un nombre", new LaClase());
  4.    }
  5.    LaClase clase = (LaClase)application.getAttribute("un nombre");
  6.    List<Users> users = clase.listUsers();
  7.     ...
  8. %>

Esto será compartido para todos los usuarios que estén visualizando Si quieres que cada usuario tenga su propia instancia, guarda la instancia de LaClase en la variable "session", en vez de en "application".

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 20/10/2015, 11:41
Avatar de timoteo666  
Fecha de Ingreso: agosto-2011
Ubicación: /home/Gdl
Mensajes: 242
Antigüedad: 12 años, 8 meses
Puntos: 11
Busqueda Respuesta: jsp and hibernate

Gracias por la respuesta, de hecho asi logre hacerlo, pero si esta es la manera "facil", cual es la dificil??
__________________
( + ) lineas de código ( - ) televisión
  #4 (permalink)  
Antiguo 20/10/2015, 13:21
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: jsp and hibernate

Buenas,

Si quieres llamar al metodo de un objeto, simplemente tienes que recuperar la referencia al objeto y llamar a su metodo. Eso es asi en cualquier lenguaje de programacion y con JSP o sin ellas. Por que lo ves 'dificil'?


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: clase, hibernate, jsp, metodo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.