2014-12-06 52 views
0

我正在研究一個webapp,我想知道是否有機會在Spring MVC中實現以下HTML元素?如何在Spring MVC中實現DataList組件

<input list="browsers"> 
<datalist id="browsers"> 
    <option value="Internet Explorer"> 
    <option value="Firefox"> 
    <option value="Chrome"> 
    <option value="Opera"> 
    <option value="Safari"> 
</datalist> 

在此先感謝!

回答

2

你可以在你的jsp頁面上做任何你想做的事情。

例如:

<form:form method="POST" commandName="recipe" action="${home}/admin/recipes"> 
    <div class="form-group"> 
     <label><s:message code="recipe.title" />*</label> 
     <form:input path="title" cssClass="form-control" /> 
     <form:errors path="title" cssClass="error-help" /> 
    </div> 
    <div class="form-group"> 
     <s:message code="add" var="addLabel" /> 
     <input type="submit" class="btn btn-success" value="${addLabel}" /> 
    </div> 
    <div class="form-group"> 
     <div class="input-group"> 
      <span class="input-group-addon"> 
       <span class="glyphicon glyphicon-envelope"></span> 
      </span> 
      <input class="form-control" list="datalist" name="data" required placeholder="<s:message code='user.email' />" value="${userEmail}" /> 
      <datalist id="datalist"> 
        <option value="first" /> 
        <option value="second" /> 
      </datalist> 
     </div> 
    </div> 
</form:form> 

在這裏,我們的模型對象 「配方」 與現場 「標題」 和現場的 「數據」 與DataList控件

控制器代碼:

@RequestMapping(value = "/admin/recipes", method = RequestMethod.POST) 
public String add(
     @ModelAttribute("recipe") @Valid Recipe recipe, 
     BindingResult bindingResult, 
     @RequestParam("data") String data, 
     Model model) { 
    if (bindingResult.hasErrors()) { 
     populateEditForm(model, recipe); 
     return "admin:/recipes/add"; 
    } 

    System.out.println(data); 
    recipe = recipeService.create(recipe); 
    return "redirect:/admin/recipes/" + recipe.getId(); 
} 

你可以爲「數據」輸入選擇「第一」或「第二」,並將其打印在服務器端