2011-03-28 33 views
9

Solo quiero saber cómo usar un booleano en un formulario Spring mvc.spring MVC: form: radiobutton for boolean property

que intento con este código:

Mi jsp:

<form:radiobutton path="dateInterval" value="false" cssClass="radio"/> 
<form:radiobutton path="dateInterval" value="true" cssClass="radio"/> 

la propiedad en el POJO:

private Boolean dateInterval = false; 

Pero mi propiedad DateInterval siempre es nulo!

+0

hay getter y setter para la propiedad dateInterval. – BasicCoder

+3

Un error común es usar isBlah para la propiedad Boolean blah; Esto está mal. isBlah solo funcionará para tipo booleano. Utilice getBlah para Boolean blah; – DwB

Respuesta

19

tengo que trabajar en mi formulario como el siguiente:

<form:radiobutton path="someProperty" value="true"/> 
    <spring:message code="label.roundYes"/> 
<form:radiobutton path="someProperty" value="false"/> 
    <spring:message code="label.roundNo"/> 

y en mi modelo de objetos del someProperty se ve así:

private boolean someProperty = false; 

que funciona bien. No lo he probado con 'Boolean'. Tal vez solo intente con booleano y vea si ayuda.

+1

sí, tienes razón, ¡funciona! Lo siento por esta estúpida pregunta! Funciona perfectamente con un booleano y no booleano. Gracias. – BasicCoder

+0

Boolean es útil cuando no se quiere seleccionar verdadero o falso inicialmente. Esta respuesta no es igual a la pregunta. –

1

Solo para aclarar cosas: En mi opinión, también funciona con Boolean Objeto. Tengo un formulario utilizando Spring 3 y esta instalación está en ejecución perfecta (utilizando valores verdadero/falso/null como una opción):

formulario JSP:

<form:radiobutton path="tour.routeNachZeit" value="true" /> 
<form:radiobutton path="tour.routeNachZeit" value="false" /> 

Object Model (llamado tour):

private Boolean routeNachZeit; 

Por tanto, yo no comprendes de qué debería haber cambiado de propiedad a sencilla booleano. Esto funciona en mi caso.

Mi ayuda vino de este post in the Spring Forum.