Foro sobre Java EE > cuando usar javabeans
En mi opinión explicas poco tus estructuras de datos para que podamos darle forma. Tal como lo planteas yo tendría 2 Beans, 1 para Objeto y otro que sea la lista de Objetos pero como no lo explicas y le das nombres reales la cosa está muy ambigua.
Yo haría algo así.
/**
* Beans Objeto
*/
Public class Objeto{
String propiedad1
.....
String propiedadn
//getteres setters
}
/**
*Bean Lista objetos
**/
Public Class ListaObjetos{
List<Objecto> objetos;
.....
//getteres setters
public List<Objeto> getObjetos(){
//Este sería tu método GestorObjetos.obtenerlista();
return objectos
}
}
En mi opinión lo correcto es algo así, así respondo a tú primera pregunta.
¿en esa clase gestor puedo meter diferentes métodos para obtener otros objetos?
Siempre que los objectos sean atributos de la clase o transformaciones de esos atributos me parece correcto.
Hola,
gracias por la respuesta. Así lo hice.
Tengo otra consulta.
Tengo una página jsp donde el usuario ha de añadir varios elementos, sin que la página se recarge, y al final, enviar todos los elementos añadidos, a la siguiente página.
La página tiene una tabla para ir mostrando los elementos a medida que se añaden.
Al pulsar añadir elemento, se muestra por javascript un formulario, al rellenarlo pulsan un botón para añadir el elemento a la tabla.
He visto un ejemplo donde al pulsar para añadir elemento, se hace llamada ajax a un servlet donde se añade el elemento a un objeto lista y se redibuja la tabla (http://jarroba.com/ajax-con-jsp-y-servelts/).
Mi duda está en cómo pasar la lista de elementos a la siguiente página.
He pensado en meter la lista de elementos en un bean, pero no sé como pasar ese bean al servlet al que llama la página.
Gracias por vuestra ayuda.
Saludos.
Saludos.
Hola,
La solución que he hecho es declarar el bean en la página jsp con
<jsp:useBean id="idBean" class="clases.claseBean" scope="session"/>
<%
session.setAttribute("idBean",idBean);
%>
Y en el servlet:
HttpSession miSesion= request.getSession();
claseBean version = (claseBean) miSesion.getAttribute("idBean");
¿Es una buena solución o hay otras más correctas?
Lo intenté con:
request.setAttribute("idBean",idBean);
pero en el servlet request.getAttribute("idBean") daba nulo.
Saludos.
Es una buena solución ya que en la request sólo se almacena la petición actual y se mantiene. Pero en la session si lo mantienes hasta que el usuario desconecte.
Lo que no combiene hacer es abusar mucho de la sesion porque si tienes muchos usuarios y muchas cosas guardadas en la sesion puedes dejar el servidor sin memoria, ya que todo eso se almacena en la memoria del server.
Pero como solución parece buena.
Ok, gracias.
Hola,
estoy mirando información de javabeans y siempre ponen ejemplos similares, un objeto con propiedades, que se equipara a un objeto del mundo real (coche, persona, ...). En mi caso, lo que quiero hacer es mostrar una lista de objetos que obtengo llamando a una librería.
Estoy usando una clase java para encapsular el método y en la jsp hago:
List<Objeto> lista = GestorObjetos.obtenerlista();
for (Objeto o:lista) ...
¿Es más correcto usar un javabean que tenga un campo lista con esta lista de objetos?
Si es así ¿en esa clase gestor puedo meter diferentes métodos para obtener otros objetos?
Gracias por vuestra atención.
Saludos.