2010-06-25 121 views
6

有什么办法默认为选中,就像在HTML option标签像<option value="value1" selected>selected属性标记的选项?春季形式:选项

回答

6

如果标签的路径值与选项值的值匹配,它将自动被选中。你不需要任何特别的东西

+0

我明白,但一些商业逻辑需要我有一个默认选择项第一次加载(后续加载,选择列表消失并被隐藏字段替换)。 – Eqbal 2010-06-25 19:38:28

+0

将此设置为命令对象中该字段的默认值。 – 2010-06-27 16:45:28

2

有什么办法可以将选项标记为默认选中???

只需使用<春:选项标签库第一个将自动选择

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

<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

我假设你还在使用Spring MVC的。如果您的业务逻辑需要默认选择某个选项,请将该业务逻辑移至控制器 - 而不是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; 
} 

在JSP中,我们通过在国家的选项和弹簧会自动将德国选择:

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