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 postal= 5;
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 numExpediente, String nombre, String apellido,
String sexo, String dni, int edad, int postal, String direccion,
String ciudad, int fijo, int movil, String email, String 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