Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2011, 10:51
fcojose2001
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 17 años, 6 meses
Puntos: 4
results en Struts.xml

Q asco de validaciones, esto hace lo que le da la gana y yo no lo entiendo, a ver.

Tengo un action de la siguiente forma:

Código PHP:
package es.pfc.struts2.actions;

import java.util.Iterator;
import java.util.List;

import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;

import es.pfc.javabeans.Pacientes;
import es.pfc.modelo.dao.ModeloPacientesDAO;

public class 
PacientesAction extends ActionSupport implements ModelDriven<Object>{

    private 
Pacientes paciente = new Pacientes();
    private List<
Pacientes> listaPacientes;
    

    public 
Object getModel() {
        return 
paciente;
    }

    public 
Pacientes getPacientes() {
        return 
paciente;
    }

    public 
void setPacientes(Pacientes pacientes) {
        
this.paciente = pacientes;
    }


    
/*Metodos Acceso a Lista*/
    
    
public List<Pacientes> getListaDatosPersonales() {
        return 
listaPacientes;
    }

    public 
void setListaDatosPersonales(List<Pacientes> listaDatosPersonales) {
        
this.listaPacientes = listaDatosPersonales;
    }
    
    
    
/*---------------------------------*/
    
    
public String agregarPaciente(){
        
        
        
ModeloPacientesDAO modeloPacienteDAO = new ModeloPacientesDAO();
        
int codigo = modeloPacienteDAO.agregarPaciente(paciente);
        
        if(
codigo==1)
            return 
SUCCESS;
        else{
            
addActionError("¡Error en el registro!");
            return 
INPUT;
        }

    }
    
    public 
String listarPacientes(){
        
        
System.out.println("AQUI");
        
        
ModeloPacientesDAO modeloDatosPersonalesDAO = new ModeloPacientesDAO();
        
listaPacientes = modeloDatosPersonalesDAO.listar(paciente);
        
        return 
SUCCESS;
    }
    
    
        
} 
y mi struts.xml tiene la siguiente forma:

Código PHP:
<struts>

    <
constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <
constant name="struts.devMode" value="false" />
    <
constant name="struts.ui.theme" value="xhtml" />

    <
package name="default" namespace="/" extends="struts-default">


        <
action name="pacientes" class="es.pfc.struts2.actions.PacientesAction"
            
method="agregarPaciente">
            <
result name="success"> jsp/nuevaHistoria.jsp </result>
            <
result name="input"> jsp/altaPacientes.jsp </result>
        </
action>
        
            
        <
action name="listarPacientes" class="es.pfc.struts2.actions.PacientesAction"
            
method="listarPacientes">
            <
result name="success">jsp/correcto.jsp</result>
        </
action> 
El archivo de validaciones es el siguiente:

Código PHP:

<!DOCTYPE validators PUBLIC
        
"-//OpenSymphony Group//XWork Validator 1.0.2//EN"
        "http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd"
>
 
<
validators>
  
    <
field name="nombre">
       <
field-validator type="requiredstring">
            <
message>Debe ingresar su nombre</message>
        </
field-validator>
    
         <
field-validator type="stringlength">
             <
param name="maxLength">45</param>
            <
message>Máximo 45 caracteres</message>
      </
field-validator> 
    </
field>
       
    <
field name="apellidos">
       <
field-validator type="requiredstring">
            <
message>Debe ingresar sus apellidos</message>
        </
field-validator>
    
         <
field-validator type="stringlength">
             <
param name="maxLength">45</param>
            <
message>Máximo 45 caracteres</message>
      </
field-validator> 
    </
field>
    
</
validators> 

a la hora de poner las validaciones (PacientesAction-validation.xml) tengo q devolver un "INPUT" en cada una de los metodos que forman el action??

Es que cuando hago referencia a la accion listarPacientes me salta un error diciendo que no tengo un input referenciado, pero es que ni siquiera entra en el metodo, ese println que tengo no se muestra en consola. Me muestra la pagina correcto.jsp pero no muestra los datos de la lista.

Última edición por fcojose2001; 23/06/2011 a las 11:00