Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/11/2010, 16:55
fcojose2001
 
Fecha de Ingreso: marzo-2009
Ubicación: Salamanca, España
Mensajes: 141
Antigüedad: 15 años, 1 mes
Puntos: 4
Respuesta: Problema campo int J2ee

Buenas noches Xerelo,

jeje, sip, utilizo Struts 2, por intentar resumir el problema me he explicado bastante mal. La clase q mostraba es un JavaBean utilizado en este caso por la clase DatosPersonalesAction, te muestro con mas detalle el ejercicio:

Parte de la JSP:

Código PHP:


        
<s:form method="post" action="datosPersonales.action">
            <
s:textfield name="nombre" label="Nombre" />
            <
s:textfield name="apellido" label="Apellidos" />
            <
s:textfield name="numExpediente" label="Num. Expediente" />
            <
s:textfield name="sexo" label="Sexo" />
            <
s:textfield name="dni" label="DNI" />
            <
s:textfield name="edad" label="edad" /> 
            <
s:textfield name="direccion" label="direccion" />
            <
s:textfield name="postal" label="Codigo Postal" />
            <
s:textfield name="ciudad" label="Ciudad" />
            <
s:textfield name="fijo" label="Telefono Fijo" />
            <
s:textfield name="movil" label="Telefono Movil" />
            <
s:textfield name="email" label="E-mail" />
            <
s:textarea  name="comentarios" cols="70" rows="2" label="Comentarios" />
            <
s:submit    value="Enviar Datos Personales" />
        </
s:form


La clase action:

Código PHP:

package es
.pfc.struts2.actions;

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

import es.pfc.javabeans.DatosPersonales;
import es.pfc.modelo.dao.ModeloDatosPersonalesDAO;

public class 
DatosPersonalesAction extends ActionSupport implements ModelDriven<Object>{

    private 
DatosPersonales datosPersonales = new DatosPersonales();
    
    
    public 
Object getModel() {
        return 
datosPersonales;
    }

    public 
DatosPersonales getDatosPersonales() {
        return 
datosPersonales;
    }

    public 
void setDatosPersonales(DatosPersonales datosPersonales) {
        
this.datosPersonales datosPersonales;
    }


    public 
String agregarPaciente(){
        
        
ModeloDatosPersonalesDAO modeloDatosPersonalesDAO = new ModeloDatosPersonalesDAO();
        
        
modeloDatosPersonalesDAO.agregarPaciente(datosPersonales);
        
        
        return 
SUCCESS;
    }
    
    

y el JavaBean (omitiendo el resto de metodos y mostrando solo dos). Por ejemplo, si el campo ciudad (String) no lo relleno en la
JSP no pasa nada, si por el contrario el campo movil (int) no lo cumplimento me da un error.

Código PHP:

package es
.pfc.javabeans;

public class 
DatosPersonales {
    
    private 
int numExpediente 0;
    private 
String nombre;
    private 
String apellido;
    private 
String sexo;
    private 
String dni;
    private 
int edad 0;
    private 
int postal5;
    private 
String direccion;
    private 
String ciudad;
    private 
int fijo 0;
    private 
int movil 0;
    private 
String email;
    private 
String comentarios;
    
    
    
/*********CONSTRUCTORES*************/
    
    
public DatosPersonales() {
        
super();
    }

    

    public 
DatosPersonales(int numExpedienteString nombreString apellido,
            
String sexoString dniint edadint postalString direccion,
            
String ciudadint fijoint movilString emailString comentarios) {
        
super();
        
this.numExpediente numExpediente;
        
this.nombre nombre;
        
this.apellido apellido;
        
this.sexo sexo;
        
this.dni dni;
        
this.edad edad;
        
this.postal postal;
        
this.direccion direccion;
        
this.ciudad ciudad;
        
this.fijo fijo;
        
this.movil movil;
        
this.email email;
        
this.comentarios comentarios;
    }


    
/**********METODOS******************/
    
    
public String getCiudad() {
        return 
ciudad;
    }

    public 
void setCiudad(String ciudad) {
        
this.ciudad ciudad;
    }



    public 
int getMovil() {
        return 
movil;
    }

    public 
void setMovil(int movil) {
        
this.movil movil;
    }



Una posible solucion seria comprobar q se introduce un valor y en caso contrario mostrar un error, pero no me gusta, ya que el cliente desea poder dejar algunos campos vacios en funcion de la situacion. La otra idea es poner todas las variables como String, pero esta solucion es algo verdulera, q opinas??

Muchas Gracias

Última edición por fcojose2001; 15/11/2010 a las 17:01