【问题标题】:Spring MVC - Form submit without binding objectSpring MVC - 没有绑定对象的表单提交
【发布时间】:2013-01-17 08:42:20
【问题描述】:

我是 Spring MVC 的新手,并试图实现一些看起来非常简单的东西。但是我无法让它工作或找到任何相关的例子。

使用带有注释的 Spring MCV 3.1。我有一个表格,里面只有一个选择列表。 提交此表单时,我希望能够将选择值的 id 提交给我的控制器。就是这样!

我不想将此值包装在 Binding 对象中,我只想将它发送到控制器,最好是这样获取: http://www.mydomain.com/admin/products?marketId=id

我的控制器如下所示:

@RequestMapping(value = "/admin/products", method = RequestMethod.GET)
public ModelAndView getProducts(@RequestParam("marketId") String marketId) {

    ModelMap model = new ModelMap();

    // Logic to find products by marketId is not shown
    // ...

    model.addAttribute("products", products);

    return new ModelAndView("products", model);
}

我还不能创建一个可以编译的jsp,但这是我最新的jsp sn-p:

<form:form method="GET" action="/admin/products.htms" methodParam="marketId" >
    <form:select path="marketId" items="${marketList}" onchange="this.form.submit();"/>
</form:form>

如果有人可以帮助或指出一些相关的例子,我将非常感激!我看过很多使用绑定对象来包装表单数据的示例,但正如您所见,我正在寻找更简单的东西。

干杯!

【问题讨论】:

    标签: java spring spring-mvc


    【解决方案1】:

    如果您不需要对象绑定和错误报告等功能,您可以使用纯 HTML 表单代替&lt;form:form&gt;

    <form method="GET" action="/admin/products.htms">
        <select name="marketId" onchange="this.form.submit();">
            <c:forEach var = "item" items="${marketList}">
                <option value = "${item}">${item}</option>
            </c:forEach>
        </select>
    </form>
    

    【讨论】:

    • 啊!当然。为什么我忘记了普通的旧html...我只是想花哨并使用弹簧标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-31
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    相关资源
    最近更新 更多