6

如果我有这样的 HTML <form>

    <input type="text" value="someValue1" name="myValues"/>
    <input type="text" value="someValue2" name="myValues"/>
    <input type="text" value="someValue3" name="myValues"/>
    <input type="text" value="someValue4" name="myValues"/>

我知道在 servlet 中我可以使用以下方法获取值:

String[] values = request.getParameterValues("myValues");

如何使用 Spring MVC 做类似的事情?

4

3 回答 3

7

参数作为参数传递给绑定到控制器的方法

@RequestMapping(value = "/foo", method = RequestMethod.POST) // or GET
public String foo(@RequestParam("myValues") String[] myValues) {
    // Processing
    return "view";
}
于 2012-11-28T09:49:33.383 回答
2

你已经HttpServletRequest request在 spring web MVC 中了。我们可以使用相同的方法来获得它,即使用

 String[] values = request.getParameterValues("myValues");

您还可以使用ServletRequestUtils在 Spring 中读取请求参数,例如:

String[] values = ServletRequestUtils.getRequiredStringParameters(request, "myValues");

查看如何访问 Http 请求:Spring 3 MVC 从控制器访问 HttpRequest

对于基于注释的方法:请参阅 Alex 的回答。

于 2012-11-28T09:49:50.047 回答
0

在jsp中我想:

<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> <!-- Add taglib in beginning of the page.-->

<!-- In body the html -->
<form:form  action="/foo" method="post" commandName="MyValues">
  <input type="text" value="someValue1" name="myValues1"/>
  <input type="text" value="someValue2" name="myValues2"/>
  <input type="text" value="someValue3" name="myValues3"/>
  <input type="text" value="someValue4" name="myValues4"/>
</form:form>

请参阅第 13.9 节中的参考资料。使用 Spring 的表单标签库标签说明,链接:http ://static.springsource.org/spring/docs/2.0.x/reference/mvc.html

控制器是 Alex 回答的同一个朋友的一部分。

于 2012-11-28T11:31:43.007 回答