如果我在<form>
中有这样的HTML:
<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做类似的事情?
答案 0 :(得分:7)
参数作为参数传递给绑定到控制器的方法
@RequestMapping(value = "/foo", method = RequestMethod.POST) // or GET
public String foo(@RequestParam("myValues") String[] myValues) {
// Processing
return "view";
}
答案 1 :(得分:2)
你已经在spring web MVC中拥有HttpServletRequest request
。我们可以使用相同的方法获得它,即使用
String[] values = request.getParameterValues("myValues");
此外,您可以使用ServletRequestUtils在Spring中读取请求参数,如:
String[] values = ServletRequestUtils.getRequiredStringParameters(request, "myValues");
了解如何访问Http请求:Spring 3 MVC accessing HttpRequest from controller
对于基于注释的方法:请参阅Alex的答案。
答案 2 :(得分: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回答的同一个朋友的一部分。