Sum*_*aya 7 html java arrays spring
我很难弄清楚如何将一组值传递给RequestParam.
我的 HTML 表单如下:
<form method="post">
<input type="text" name="numbers[]">
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
我的 Spring 控制器如下:
@RequestMapping(value="/send", method = RequestMethod.POST)
public void sendMessage(String to[]) {
for(String number: to) {
System.out.println(number);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,当我运行它时,它显示一个错误:
...不适用于参数
问题是您的输入只是一个字符串字段,因此 Spring 将其转换为字符串,而不是字符串数组。
一个解决方案是在您的表单中有多个具有相同名称的输入。Spring 自动创建数组并将其传递给控制器。
<form method="post">
<input type="text" name="number">
<input type="text" name="number">
<input type="text" name="number">
<input type="submit">
</form>
Run Code Online (Sandbox Code Playgroud)
控制器中的相应方法是:
public void foo(@RequestParam("number[]") List<String> to) {
for(String number : to) {
System.out.println(number);
}
}
Run Code Online (Sandbox Code Playgroud)