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

mandar y recibir parametros en strust 2

Estas en el tema de mandar y recibir parametros en strust 2 en el foro de Java en Foros del Web. Hola a todos soy nuevo en esto de struts 2 y tengo una gran duda que no se que hacer... empece a hacer un cajero ...
  #1 (permalink)  
Antiguo 05/11/2010, 02:43
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta mandar y recibir parametros en strust 2

Hola a todos soy nuevo en esto de struts 2 y tengo una gran duda que no se que hacer...

empece a hacer un cajero automatico usando struts 2 en la primera pagina tengo el siguiente codigo

Código PHP:
<s:form action="Login.action"
            <
s:password name="clave" label="NIP">
            
            </
s:password>
            <
s:submit value="SEND" />
        </
s:form
para esto busco en la base de datos que se encuentre dicha clave.... como lo muestro en el archivo struts.xml

Código PHP:
<action name="Login" class="com.main.action.ValidaCliente">
                    <
result name="success">/menu.jsp</result>
                    <
result name="input">/login.jsp</result>
                </
action
una vez que estoy en la pagina menu.jsp tengo la opcion de retirar dinero
Código PHP:
<A href="RetiroEfectivo.action">Retiro de Efectivo</A
que en el archivo struts.xml tendria esto de codigo
Código PHP:
<action name="RetiroEfectivo">
                       <
result>/retiroUno.jsp</result>
                   </
action
una vez que estoy aqui tengo unos radio button con diferentes opciones de cantidades de dinero.... hasta ahorita todo bien, pero al momento de buscar el saldo lo hago relacionando la clave que ingreso con el saldo que tiene como lo muestro en el codigo

Código PHP:
ackage com.main.conexion;

import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.ResourceBundle;
import oracle.jdbc.driver.OracleStatement;
import com.main.bean.Pojo;
import com.main.pojo.ClienteLogin;


public class 
SaldoARetirar extends Pojo{
    
    
int saldo=0;
    
ResourceBundle rbResourceBundle.getBundle("com.main.properties.Banco");
    
    public 
int SaldoDiponible (ClienteLogin clienteLoginthrows Exception 
    
{
        try{
            
System.out.println("QUE PASA!!! "+clienteLogin.getClave());
        Class.
forName(""+rb.getString("driver")+"");
        
conn=DriverManager.getConnection(""+rb.getString("servidor")+"",""+rb.getString("usuario")+"",""+rb.getString("clave")+"");
        
stmt=conn.createStatement();
        ((
OracleStatement)stmt).defineColumnType(1java.sql.Types.NUMERIC);
        
        
rs=stmt.executeQuery("select saldo from clientes where clave="+clienteLogin.getClave()+"");
            
        while(
rs.next())
        {
            
saldo=(rs.getInt(1));
        }
        
            
            }catch(
SQLException sql)
                {
                
System.out.println("ERROR AQUI!! "+sql);
                }
            
conn.close();
            
rs.close();
            
stmt.close();
            
            
System.out.println("EL SALDO ES!!!! "+saldo);
            
            
            return 
saldo;        
            
    }

como ven busco el saldo llendo al objeto clienteLogin.getClave para que me de la clave que ingreso el usuario PERO SIEMPRE ME DA 0.... YA NO SE QUE HACER POR FAVOR NECESITO AYUDA!!!! se los agradecere de antemano
  #2 (permalink)  
Antiguo 05/11/2010, 02:53
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: mandar y recibir parametros en strust 2

¿De dónde sacas el clienteLogin que pasas como parámetro y desde dónde llamas al método SaldoAretirar()??
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 05/11/2010, 18:36
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mandar y recibir parametros en strust 2

El clienteLogin es una clase donde tengo los set y get de la clave, y el metodo saldoAretirar lo llamo desde un metodo execute donde esta el action del form donde mande el saldo que quiero retirar
  #4 (permalink)  
Antiguo 05/11/2010, 19:56
 
Fecha de Ingreso: octubre-2010
Mensajes: 21
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: mandar y recibir parametros en strust 2

Para que tu clase Action, pueda recibir directamente los parametros del JSP solamente tienes que tener un atributo con el nombre de la variable, veo que lo hiciste bien:

int saldo=0;

ademas este atributo debe tener el setSaldo y getSaldo para poder leer y escribir la variable, cosa que veo que no tienes en tu clase, por lo tanto con eso lo solucionas.

Te recomendo utilizar una clase de envoltorio, asi

Integer saldo;

Luego
public void setSaldo(Integer saldo){...}
public Integer getSaldo () {...}

Recuerda que el Struts no puede acceder directamente a la variable, unicamente lo puede hacer a traves de los set y gets.

Saludos.

Marcos Jara
[URL]http://tutorialjava7.wordpress.com[/URL]
  #5 (permalink)  
Antiguo 05/11/2010, 23:13
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mandar y recibir parametros en strust 2

no no ese no es el problema mi problema original es que quiero buscar el saldo pero apartir de la clave que se introduce en el sistema!! y no lo logro ya que le mando como parametro el objeto ClienteLogin clienteLogin donde tengo los metodos set y get cuando lo pongo en el query el clienteLogin.getClave() me lanza un cero cuando supongo yo tiene que estar el numero que le meti ese es mi problema!!
  #6 (permalink)  
Antiguo 06/11/2010, 04:50
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: mandar y recibir parametros en strust 2

No nos estamos entendiendo.

Cita:
De dónde sacas el clienteLogin
Es decir cuándo y cómo lo generas, no qué es clienteLogin

Cita:
clienteLogin es una clase donde tengo los set y get de la clave
El inicializado automático de variables sólo se hace para atributos del action, aunque tengas otra clase con get y set, no se te van inicializar las variables ellas solas.

Por lo que entiendo, coges el valor de password en la primera jsp y pasas por otras JSP hasta llegar a retiroUno.jsp, donde quieres utilizar ese valor.

1º En login.action tienes que crear un objeto de ClienteLogin y pasarle el parámetro password

2º Los objetos no se mantienen entre distintas JSP, ya que se crean nuevas request. Tendrás que que guardar el objeto clienteLogin en la session, con .setatribute() y desde el action que llama a SaldoAretirar() recuperar ese valor para pasárselo a SaldoDiponible.
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #7 (permalink)  
Antiguo 06/11/2010, 15:17
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mandar y recibir parametros en strust 2

Exactamente el segundo punto quiero hacer, pero no se me podrias dar un ejemplo te lo agradecere mucho!!!!
  #8 (permalink)  
Antiguo 08/11/2010, 00:39
 
Fecha de Ingreso: noviembre-2010
Mensajes: 13
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: mandar y recibir parametros en strust 2

2º Los objetos no se mantienen entre distintas JSP, ya que se crean nuevas request. Tendrás que que guardar el objeto clienteLogin en la session, con .setatribute() y desde el action que llama a SaldoAretirar() recuperar ese valor para pasárselo a SaldoDiponible.



eso que esta arriba escrito es lo que quiero hacer, agradecere mucho a alguien que me ponga un ejemplo para poder ver.... and bien perdido GRACIAS!!
  #9 (permalink)  
Antiguo 08/11/2010, 03:07
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: mandar y recibir parametros en strust 2

Sabes la forma de hacerlo y el nombre de un método, podrías buscar algo de información en la API

http://download.oracle.com/docs/cd/E...lang.Object%29

en google

http://www.google.es/search?hl=es&cl...=&oq=&gs_rfai=

o en el foro

http://www.forosdelweb.com/f45/como-...suario-701007/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: mandar, parametros, recibir
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 06:50.