我在html文件中获得了“ explorer”对象并可以对其进行分析:
<body>
<form th:action="@{/parsing}" method="post">
<div class="w3-container">
<table class="w3-table-all w3-card-4">
<tr>
<th>Id</th>
<th>Query</th>
<th></th>
</tr>
<tr>
<td th:text="${explorer.getId()}"></td>
<td th:text="${explorer.getQuery()}"></td>
<td>
<input class="w3-button w3-blue w3-right" type="submit" value="Enter"/>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
现在我想以post方法发送它,但是当我提交时,“结果”中为空。
方法,他们通过提交操作获取查询:
@PostMapping("/parsing")
public ModelAndView parsing(
@ModelAttribute Explorer explorer
){
System.out.println("explorerId = " + explorer.getId());
System.out.println("explorerId = " + explorer.getQuery());
return new ModelAndView("result");
}
(它不会引发任何异常,但是在控制台中仅输出空数据)
在这种情况下如何发送任何对象进行后期处理?
答案 0 :(得分:1)
您已经关闭。您的表单缺少命令对象属性。
我建议在您的表单标签中添加th:object="${explorer}"
。
在您的GET
方法中,再次检查要从控制器 create 的资源管理器对象的功能,然后将该对象添加到请求属性中以供表单使用,以在{{1 }}操作可以成功提交对象。
此Thymeleaf docs提供的答案比我在该线程中所能提供的答案还要多。