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

Pasar un bean de una pagina a otra

Estas en el tema de Pasar un bean de una pagina a otra en el foro de Java en Foros del Web. hola a todos, espero me puedan ayudar en esta duda que tengo: tengo una pagina jsp que muetra un formulrio con una accion hacia otra ...
  #1 (permalink)  
Antiguo 01/05/2007, 00:26
Avatar de Nighter  
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 0
Pasar un bean de una pagina a otra

hola a todos, espero me puedan ayudar en esta duda que tengo:

tengo una pagina jsp que muetra un formulrio con una accion hacia otra jsp llamada checkpage.jsp, en la pagina donde esta el formulario pido nombre de usuario y contraseña, tengo un javaBean que se carga con esta info, el bean tiene un scope session para que solo el usuario que la creo pueda mantener esa info, lo que quiero hacer es que la pagina que tiene de accion el formulario (checkpage) pueda usar el bean que cree en la pagina anterior, he tratado de capturarlo con los objetos session y request y no funciona simpre me manda null (a menos claro que use el getparameter() de request, con este si funciona pero no obtiene el bean sino el input), como puedo hacer para que se mantenga un bean de una pagina a otra, o como lo mando de una pagina a otra?

acontinuacion mando los jsp:
index.jsp donde esta el form
Código PHP:
<%@ page language="java" session="true" errorPage="errorpage.jsp"%>
<%@
page contentType="text/html"%>
<%@
page pageEncoding="UTF-8"%>

<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd"
>

<
html>
 <
head>
  <
link rel="stylesheet" href=".\resources\styles.css" type="text/css"></link>
  <
meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <
title>| Sistemas operativos 2 |</title>        
 </
head>

 <
body>
  <
jsp:useBean id="user" scope="session" class="wl.User" />
     
  <
form method="POST" name="loginform" action="checkpage.jsp">
   <
table width="459" border="0" align="center" cellpadding="5" cellspacing="5" bgcolor="#99CC99">
    <
tr>
     <
td height="79" colspan="2" align="center"><h1 class="style8">Web Login</h1></td>
    </
tr>
   
    <
tr>
     <
td width="206"><div align="center" class="style9">Nombre de usuario: </div></td>
     <
td width="215">
      <
div align="left"><p><input name="username" type="text" size="35" /></p></div>
     </
td>
    </
tr>
   
    <
tr>
     <
td><div align="center"><strong><span class="style11">Contrase&ntilde;ia</span>:</strong></div></td>
     <
td><input name="password" type="password" size="35" /></td>
    </
tr>
   
    <
tr>
     <
td colspan="2"><div align="center"><input name="loginbtn" type="submit" value="Acceder" /></div></td>
     <
jsp:setProperty name="user" property="*" />
    </
tr>
   </
table>
  </
form>
    
  <
script language="JavaScript" type="text/javascript">
   <!-- 
document.forms["loginform"].elements["usernametf"].focus() // -->
  
</script>
  </body>
</html> 
checkpage (con mucho codigo basura)
Código PHP:
<%@ page  session="true" language="java"%>
<%@
taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql"%> 
<%@
taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ 
page import="wl.User"%>

<
sql:query var="wldb" scope="session" dataSource="jdbc/wlds">
    
SELECT FROM weblogin.users WHERE (username = <%out.print("'"+request.getParameter("username")+"'");%> AND userpassword = <%out.print("'"+request.getParameter("password")+"'");%>)
</
sql:query>

<%
User user = new User();
User user1;
 
user.setUserName((String)session.getAttribute("username"));
 
out.print(user.getUserName());
 
out.print(session.getAttribute("username"));
 
user1 = (User)session.getAttribute("user");
 
out.print(user1.getUserName());
 
user1 = (User)request.getSession().getAttribute("user");
 
out.print(user1.getUserName());
 
out.print(request.getParameter("username"));
 
out.print(request.getParameter("password"));
 
 
session.getAttribute("user");
 
session.setAttribute("user"user1);
 
out.print(user1.getUserName());
%>


  #2 (permalink)  
Antiguo 01/05/2007, 02:40
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Pasar un bean de una pagina a otra

Ummm, si entiendo bien el codigo... tu esperas que jsp:setProperty name="user" property="*" te rellene el bean user con los datos que introduzca el usuario en el formulario. ¿Es así?

Si es así tienes mal el concepto, ya que esa instrucción se ejecuta en el servidor antes de enviarle la pagina al navegador del usuario. Así que para cuando el rellena los datos, hace mucho que se ha ejecutado. Esas instrucciones se han de poner en las paginas que reciben las peticiones desde los formularios, no en las que los crean.

S!
  #3 (permalink)  
Antiguo 01/05/2007, 10:32
 
Fecha de Ingreso: mayo-2006
Mensajes: 137
Antigüedad: 18 años
Puntos: 1
Re: Pasar un bean de una pagina a otra

Yo no voy a responder tu duda jeje, pero tengo una otra. Yo también ando aprendiendo jsp, por que colocas el setproperty al final del form?.

Saludos.
  #4 (permalink)  
Antiguo 01/05/2007, 10:43
Avatar de Nighter  
Fecha de Ingreso: enero-2007
Mensajes: 97
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Pasar un bean de una pagina a otra

asi se carga el bean con los datos que introduce el usuario al momento que de manda el sumbit, si funciona, ya lo prove, pero solo funciona para la misma pagina y lo que necesito es mandar el bean con la info que se le metio a otra pagina
  #5 (permalink)  
Antiguo 02/05/2007, 03:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: Pasar un bean de una pagina a otra

Como tu digas, pero dado que el submit se ejecuta en el cliente, me pregunto como hace para rellenar los datos de un bean que está en el servidor a través de una instrucción que se ejecutó antes en el tiempo.
A mi me suena a magia
  #6 (permalink)  
Antiguo 02/05/2007, 06:00
 
Fecha de Ingreso: febrero-2007
Mensajes: 61
Antigüedad: 17 años, 2 meses
Puntos: 0
Re: Pasar un bean de una pagina a otra

Usa Struts que carga los beans dinamicamente. Otra cosa un consejito: no es bueno llenar los jsp de código (Scriptlets) ya "ensucia" mucho la vista. Investiga un poco el uso de tags en tus jsp que te va a hacer mas sencillo el desarrollo.

Saludos!
  #7 (permalink)  
Antiguo 03/05/2007, 12:22
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Re: Pasar un bean de una pagina a otra

Cita:
Iniciado por Nighter Ver Mensaje
asi se carga el bean con los datos que introduce el usuario al momento que de manda el sumbit, si funciona, ya lo prove, pero solo funciona para la misma pagina y lo que necesito es mandar el bean con la info que se le metio a otra pagina
Mira, tienes mal el concepto, ya te lo dijo Green, el set se ejecuta en el servidor, no importa si lo pones al principio o al final..... y te esta funcionando, por que cuando ahces el submit, a la misma pagina, entonces se ejecuta en el servidor esa instruccion, y luego te regresa de nuevo la misma pagina con los datos en el BEAN, pero no significa que lo ahga justo en el momento del submit, si no a la hora que el servidor recive la peticion hecha por el submit, es un poco complicado de explicar..... pero espero me entiendas

have funnnnnnnnnnn
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 03:35.