2010-06-25 8 views
6

¿Hay alguna manera de marcar una opción como seleccionada de manera predeterminada, al igual que el atributo selected en la etiqueta HTML option como <option value="value1" selected>?Forma de resorte: opción

Respuesta

6

Si el valor de ruta de la etiqueta coincide con el valor de las opciones, se seleccionará automáticamente. No necesita nada especial

+0

entiendo que, pero algo de lógica de negocios me necesita tener un elemento predeterminado seleccionado el la primera vez que se carga (cargas posteriores, la lista de selección desaparece y se reemplaza por un campo oculto). – Eqbal

+0

Establezca eso como el valor predeterminado para ese campo en el objeto de comando. –

2

¿Hay alguna forma de marcar una opción como seleccionada por defecto?

Sólo tiene que utilizar < primavera: opción Taglib El primero de ellos se seleccionará automáticamente

<spring:select name="someProperty"> 
    <spring:option value="">Select one</spring:option> 
    <spring:option value="someValue">Some value<spring:select> 
    <!--And so on...--> 
<spring:select> 

o

<spring:select name="someCollection"> 
    <spring:option value="">Select one</spring:option> 
    <!--Here goes some List added to request--> 
    <spring:options itemLabel="propertyNameUsedAsLabel" itemValue="propertyNameUsedAsValue"/> 
    <!--And so on...--> 
<spring:select> 
1

Te estoy asumiendo también están utilizando Spring MVC. Si tiene una lógica de negocios que requiere que se seleccione una determinada opción por defecto, mueva esa lógica de negocios al controlador, no al JSP.

@RequestMapping(method = RequestMethod.GET) 
public ModelAndView helloWorld(){ 

     ModelAndView model = new ModelAndView("HelloWorldPage"); 

     // first we need to give the countries list to the model 
     model.addObject("countries", countryService.getAllCountries()); 

     // creating the form 
     ExampleForm form = new ExampleForm(); 

     // setting the default to Germany (de)    
     form.setCountryCode = "de"; 
     // adding the form (with the default country set) to the model 
     model.addObject("form", form); 

     return model; 
} 

En el JSP, se pasa en los países a las opciones y la primavera de forma automática habrán alemania seleccionado:

<form:form method="post" commandName="form"> 

    <%-- other fields ... --%> 

    <form:select path="countryCode"> 
     <form:options items="${countries}" itemValue="countryCode" itemLabel="countryName"/> 
    </form:select> 

    <%-- other fields ... --%> 

</form:form> 
Cuestiones relacionadas