example choicerenderer java wicket dropdownchoice

java - example - wicket choicerenderer



¿Cómo mantener la opción "Elegir uno" en un DropDownChoice Wicket? (2)

Cuando cargo una página por primera vez, la opción predeterminada en una opción desplegable es "Elegir una". ¿Hay alguna forma de mantenerlo en el menú desplegable, incluso cuando haya seleccionado una opción?
(En caso de que no quisiera poner nada más tarde)


En .java:

DropDownChoice<Boolean> myDropDown = new DropDownChoice<>( "myDropDownWicketId", model, Arrays.asList(true, false), renderer); myDropDown.setNullValid(true);

En el archivo .properties asociado a la clase java agregue:

myDropDownWicketId.nullValid=Choose One myDropDownWicketId.true=Yes myDropDownWicketId.false=No


DropDownChoice.setNullValid() usar el método DropDownChoice.setNullValid() . Desde el javadoc:

Determina si el valor nulo debe incluirse o no en la lista de opciones cuando el valor de modelo del campo no es nulo, y si la propiedad de cadena null_valid (por ejemplo, "Elegir uno") debe mostrarse o no hasta que se seleccione un valor no nulo. Si se establece en falso, se mostrará "Choose One" cuando el valor sea nulo. Después de seleccionar un valor, y ese cambio se propaga al modelo subyacente, el usuario ya no verá la opción "Elegir uno" y no habrá manera de volver a seleccionar el valor nulo. Si se establece en verdadero, la propiedad de cadena nula (la cadena vacía, de forma predeterminada) siempre se mostrará como una opción, independientemente de que se haya seleccionado o no un valor no nulo. Tenga en cuenta que esta configuración no tiene efecto en la validación; para garantizar que se especificará un valor en la validación de formulario, FormComponent.setRequired (boolean). Esto se debe a que incluso si se llama a setNullValid () con false, el usuario no puede proporcionar un valor simplemente activando (es decir, haciendo clic en) el componente.

Si desea mantener el texto "Elija uno" con NullValid = true, puede usar una línea similar a la siguiente en su archivo Application.properties:

nullValid=[Choose one]