Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Pasar un bean de una pagina a otra (http://www.forosdelweb.com/f45/pasar-bean-pagina-otra-486257/)

Nighter 01/05/2007 00:26

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());
%>




GreenEyed 01/05/2007 02:40

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!

vljc2004 01/05/2007 10:32

Re: Pasar un bean de una pagina a otra
 
Yo no voy a responder tu duda:neurotico jeje, pero tengo una otra. Yo también ando aprendiendo jsp, por que colocas el setproperty al final del form?.

Saludos.

Nighter 01/05/2007 10:43

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

GreenEyed 02/05/2007 03:43

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 :-)

Ramoncito2 02/05/2007 06:00

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!

stock 03/05/2007 12:22

Re: Pasar un bean de una pagina a otra
 
Cita:

Iniciado por Nighter (Mensaje 1989560)
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 :adios:


La zona horaria es GMT -6. Ahora son las 08:52.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.