Spring MVC的传值的列表到从JSP页面控制器(Spring MVC pass a list

2019-08-03 07:02发布

如果我有在一个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类似的东西?

Answer 1:

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

@RequestMapping(value = "/foo", method = RequestMethod.POST) // or GET
public String foo(@RequestParam("myValues") String[] myValues) {
    // Processing
    return "view";
}


Answer 2:

你已经有HttpServletRequest request Spring Web MVC框架。 我们可以得到使用使用它相同,即

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

你也可以使用ServletRequestUtils在Spring喜欢读请求参数:

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

了解如何访问HTTP请求: 春季3 MVC访问的HttpRequest从控制器

对于基于注释的方法:见Alex的答案。



Answer 3:

在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

控制器是相同的朋友亚历克斯回答的一部分。



文章来源: Spring MVC pass a list of values into controller from JSP page