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

Struts.xml dudilla en Struts 2

Estas en el tema de Struts.xml dudilla en Struts 2 en el foro de Java en Foros del Web. Wenassss: Algo q me ta comiendo la cabeza y no veo la solucion. Utilizo struts 2, y tengo un struts.ml tal como este: Código PHP: ...
  #1 (permalink)  
Antiguo 14/12/2010, 13:49
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años
Puntos: 4
Struts.xml dudilla en Struts 2

Wenassss:

Algo q me ta comiendo la cabeza y no veo la solucion. Utilizo struts 2, y tengo un struts.ml tal como este:

Código PHP:
    <action name="buscarPacienteDNI" class="es.pfc.struts2.actions.PacientesAction"
            
method="buscarPaciente">
            <
result name="success" type="chain">detallePaciente</result>
            <
result name="error"jsp/buscarPacientes.jsp </result>
        </
action
y luego el action correspondiente a esta accion:

Código PHP:
public String buscarPaciente(){
        
        
ModeloPacientesDAO modeloPacienteDAO = new ModeloPacientesDAO();
        
int codigo modeloPacienteDAO.buscarPaciente(paciente);
        
        if(
codigo==1)
            return 
SUCCESS;
        else{
            
addActionError("El paciente NO Existe");
            return 
ERROR;
        }
    } 
Como hago para pasarle un parametro a esta funcion buscarPaciente??, es decir, q por ejemplo sea public String buscarPaciente(variable)??? algo habra q poner en el struts.xml cuando le digo q metodo utilizar pero no se como pasarle esto
  #2 (permalink)  
Antiguo 15/12/2010, 04:13
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Struts.xml dudilla en Struts 2

Si estás utilizando el result tipo chain, la request se mantiene entre acciones, así que lo único que tienes que hacer es que ese valor pertenezca a las dos action.

Aunque no es demasiado recomendable usar esta forma.

http://struts.apache.org/2.0.14/docs...-chaining.html
Cita:
As a rule, Action Chaining is not recommended. First explore other options, such as the Redirect After Post technique.
Lo habitual es usar redirectAction y pasar los parametros desde la definicion del action.

Cita:
<action name="user" class="UserAction">

<result type="redirectAction">
<param name="actionName">newAction</param>
<param name="variabledestino">${variableorigen}</param>
</result>
</action>
__________________
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 15/12/2010, 14:00
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años
Puntos: 4
Respuesta: Struts.xml dudilla en Struts 2

no te entiendo :(.

Segun dices, deberia ser asi el struts.xml

Código PHP:
<action name="user" class="UserAction" method="uno">

<
result type="redirectAction">
<
param name="actionName">newAction</param>
<
param name="variabledestino">${variableorigen}</param>
</
result>
</
action
y el metodo uno en el Useraction recibiria el parametro de esta forma:?

Código PHP:
public void uno(variabledestino){
        
 ...............
lo  q sea
    

  #4 (permalink)  
Antiguo 16/12/2010, 03:22
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Struts.xml dudilla en Struts 2

No, esos parámetros los vas a pasar mediante la URL, así que se comportan como cualquiera que puedas obtener desde un formulario.

Necesitas que variabledestino sea un atributo de la clase de la action user y que tenga sus getter y setter, nada más. Uno no tendrá argumentos, igual que buscarPaciente no los tiene.
__________________
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: struts
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 18:07.