Spring MVC - 表单提交没有绑定对象

时间:2013-01-17 08:42:21

标签: java spring spring-mvc

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

将Spring MCV 3.1与注释一起使用。我有一个只有一个选择列表的表单。 提交此表单时,我希望能够将select-value的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片段:

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

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

干杯!

1 个答案:

答案 0 :(得分:5)

如果您不需要对象绑定和错误报告等功能,则可以使用纯HTML表单而不是<form:form>

<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>