我试图将不同的表单值传递给带有对象参数的控制器,如下所示:
在我看来我是:
<form id="line_form" action="#" th:object="${lineFilter}" method="post">
<input type="text" id="nameHolder" th:field="*{msisdn}">
<input type="text" id="nameHolder" th:field="*{nameHolder}">
...
</form>
在我的控制器中,我有这种方法:
@ResponseBody
@RequestMapping(value = "/listFilteredByAccount", produces = MediaType.APPLICATION_JSON_VALUE)
public DatatablesResponse<LineVO> getLineFilteredListWithAccount(LineFilter lineFilter, @DatatablesParams DatatablesCriterias criterias, Model model, Locale locale, HttpServletRequest req, String entity)
在我的方法控制器中,lineFilter的字段始终为null 我也可以用按钮调用上一个方法
此外,这个网址由dataTable调用:
dt:url="@{/orders/listFilteredByAccount}"
我忘了设置好字段的价值?
我使用Thymeleaf和Spring MVC
答案 0 :(得分:0)
尝试在控制器方法中使用@ModelAttribute
public DatatablesResponse<LineVO> getLineFilteredListWithAccount(@ModelAttribute("lineFilter") LineFilter lineFilter, ..and the rest of your params...)
将表单操作设置为th:action="@{/orders/listFilteredByAccount}"
尝试将此添加到您的控制器@RequestMapping(method = RequestMethod.POST, ...)
,因为您在表单中发帖。