2010-06-25 20 views
6

Gibt es eine Möglichkeit, eine Option wie standardmäßig markiert zu markieren, ähnlich wie das selected Attribut im HTML option Tag wie <option value="value1" selected>?Spring form: Option

Antwort

6

Wenn der Pfadwert des Tags mit dem Wert des Optionswerts übereinstimmt, wird er automatisch ausgewählt. Sie brauchen nichts Besonderes

+0

Ich verstehe das, aber einige Business-Logik muss mir einen Standard ausgewählte Element haben, die Beim ersten Laden (nachfolgende Ladevorgänge, wird die Liste gelöscht und durch ein verstecktes Feld ersetzt). – Eqbal

+0

Legen Sie das als Standardwert für dieses Feld im Befehlsobjekt fest. –

2

Gibt es eine Möglichkeit, eine Option als standardmäßig markiert zu markieren ???

Verwenden Sie einfach < Frühling: Option Taglib Die erste automatisch ausgewählt werden

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

oder

<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

ich Sie gehe davon sind auch mit Spring MVC. Wenn Sie über eine Geschäftslogik verfügen, für die eine bestimmte Option standardmäßig ausgewählt werden muss, verschieben Sie diese Geschäftslogik auf den Controller - nicht auf die 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; 
} 

In der JSP, gehen wir in den Ländern mit den Optionen und Feder automatisch haben Deutschland ausgewählt:

<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> 
Verwandte Themen