如何从HTML文件向控制器发送对象或数据?

时间:2018-08-15 18:59:28

标签: java html spring thymeleaf

我在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");
}

(它不会引发任何异常,但是在控制台中仅输出空数据)

在这种情况下如何发送任何对象进行后期处理?

1 个答案:

答案 0 :(得分:1)

您已经关闭。您的表单缺少命令对象属性。

我建议在您的表单标签中添加th:object="${explorer}"

在您的GET方法中,再次检查要从控制器 create 的资源管理器对象的功能,然后将该对象添加到请求属性中以供表单使用,以在{{1 }}操作可以成功提交对象。

Thymeleaf docs提供的答案比我在该线程中所能提供的答案还要多。