请帮我处理任何正常工作的代码。我正试着从一周后才得到解决方案。
答案 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;
}