如何将百里香叶中的drodown选定值传递给弹簧启动控制器

时间:2016-12-19 06:52:03

标签: spring-boot thymeleaf

请帮我处理任何正常工作的代码。我正试着从一周后才得到解决方案。

3 个答案:

答案 0 :(得分:3)

将name属性赋予html select元素,您可以从HttpServletRequest对象中访问控制器中选定的下拉值,如下所示。

  <form role="form" id="sendAddress" th:action=@{/sendAddress} method="post">
        <select class="form-control" name="nameOfCity">
            <option value="">Select City</option>
            <option value="HYD">Hyderabad</option>
            <option value="MUM">Mumbai</option>
            <option value="DEL">Delhi</option>
        </select>
    </form>



    @RequestMapping(value={"/sendAddress"},method = RequestMethod.POST)
    public String messageCenterHome(Model model,HttpSession session,HttpServletRequest request) {

        String selectedCity= request.getParameter("nameOfCity")
        //return view 
    }

答案 1 :(得分:1)

Java MVC框架封装了Servlet API,并使用框架的简单API为我们提供了常用功能。

对于从请求中检索参数值这样常见的任务,Spring MVC和Boot使用override注释来检索从带选项标记的select中选择的参数值。因此,ak38的代码根本不需要使用virtual来获取参数;相反,它只是注释请求调用的控制器方法的参数:

HTML表单

@RequestParam

<强>控制器

HttpServletRequest

尝试一下,如果你还没有,正如我刚才看到的那样,自问题发布以来已经过了几个月。

答案 2 :(得分:0)

<form th:action="@{/search}" th:object="${searchRequest}" method="post">    
    <select th:field="*{parkType}">
        <option value="1">Test1</option>
        <option value="2">Test2</option>
    </select>           
</form>

@RequestMapping(value = "/search", method = RequestMethod.POST)
public String searchParks(@ModelAttribute(value = "searchRequest") SearchRequest searchRequest, Model model) {
   
    searchRequest.getParkType(); // to get option value

    return "listings";
}

@lombok.Data
public class SearchRequest {
   private String name;
   private String parkType;
}