Como hacer para pasar uno datos de la pase de datos a

Hola Aleja se que le estoy preguntando demasiado pero es que necesito ayuda para un proyecto que realizo y ya estoy corto de tiempo y soy nuevo en Jsp! Pero entiendo java pero eso relacionado con las html pues me causa un poco de problema
quiseraa saber
1.Consulto en la base de datos en otra página..
2. Tengo un formulario para actualizar. Que resiviraa los datos traído de la otra página
3. Quiero que los datos traídos me los ponga en los input
gracias

1 Respuesta

Respuesta
1
El método más rápido de hacer y entender (aunque no muy elegante) es guardar lo que quieras pasar entre páginas en la sesión (ahí se mantiene todo el tiempo o hasta que la sesión se invalide) y luego sacarlo de ella para hacer lo que quieras.
En la página donde consultas la base de datos pongamos que guardas esos datos en una clase (es lo que, si no haces, deberías hacer). Pongamos que son los datos de una persona, y la clase persona guarda los datos típicos. En esa página harías esto:
<% // Consulto la BD y meto los datos en un objeto Persona
Persona persona = consultarBD();
request.getSession().setAttribute("miPersona",persona);
...
%>
Ahora que está en la sesión lo puedo sacar cuando quiera y usarlo donde quiera. Lo usaremos en la página con el formulario que queremos rellenar.
Podemos cojerlo mediante un scriptlet:
<% Persona miPersona= (Persona) request.getSession().getAttribute("miPersona");
//Ojo que esté en la sesión. Si no lo hemos metido antes, persona valdrá null.
%>
O cogerlo mediante JSP puro:
<jsp:useBean id="miPersona" class="paquete.Persona" scope="session"/>
Y ahora podemos rellenar el formulario poniendo el valor en cada campo:
<input type="text" name="nombre"> value='<%= miPersona.getNombre()%>' >
//Y así para cada campo que queramos. Ojo, si alguno de los campos del objeto es null puede que aparecerá la palabra "null" en el campo del formulario, si queremos evitarlo podemos hacer esto:
<input type="text" name="nombre"> value='<%= miPersona.getNombre()==null?"":miPersona.getNombre()%>' >
// El operador "?" devuelve el primer valor si la comparación es cierta (si es nulo queremos una cadena vacía) y si no el segundo valor después del ":" (si no es nulo queremos el valor)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas