No lo acabo de entender, dices que cambiaste los int por Integer, y que ahora puedes leer el valor del campo vacío, que aparece como 0. Sin embargo, el error que pones parece que es a la hora de pasar el valor del campo a tu Model
Cita: ognl.MethodFailedException: Method "setEdad"
¿Cuándo lees ese valor?
¿Llega a ejecutarse el modeloDatosPersonalesDAO.agregarPaciente(datosPers onales); o el error te aparece antes?