我正在创建一个包含大量隐藏输入的表单,我想将它传递给我的spring MVC服务器。 创建的表单将是这样的(并不总是我将有3种输入类型..我可以有更多或更少,用户将设置此值):
<form id="submitCoordenadas" method="post" action="adicionaCorredores">
<button type="submit" id="saveCoordenadas" class="btn" value="Save">Enviar</button>
<input type="hidden" name="corredor" id="linha1" val="[Linha] Inicio: [1;1] Fim: [104;114]">
<input type="hidden" name="corredor" id="linha2" val="[Linha] Inicio: [113;1] Fim: [1;144]">
<input type="hidden" name="corredor" id="linha3" val="[Linha] Inicio: [113;1] Fim: [1;144]">
</form>
到目前为止,我所尝试的是创建一个具有字符串列表的对象:
public class Corredores {
List<String> corredor;
........ (getters and setters)
}
和我的Spring MVC服务器:
@RequestMapping("adicionaCorredores")
public String adicionaCorredores(Corredores valores) {
System.out.println("Valores: " + valores.getCorredor().get(0));
return "";
}
我没有收到关于“valores”参数的任何内容。
我该怎么办?如何在表单中输入未确定数量的输入并在Spring MVC服务器中接收它?
答案 0 :(得分:-1)
我解决了我的问题.. 首先,我在表单中犯了一个错误。我没有在其中插入属性“value”,而是使用“val”。现在我的表格看起来像这样:
<form id="submitCoordenadas" method="post" action="adicionaCorredores">
<button type="submit" id="saveCoordenadas" class="btn" value="Save">Enviar</button>
<input type="hidden" name="corredor" id="linha1" val="[Linha] Inicio: [1;1] Fim: [104;114]">
<input type="hidden" name="corredor" id="linha2" val="[Linha] Inicio: [113;1] Fim: [1;144]">
<input type="hidden" name="corredor" id="linha3" val="[Linha] Inicio: [113;1] Fim: [1;144]">
</form>
我做的另一件事是将控制器更改为:
@RequestMapping("adicionaCorredores")
public String adicionaCorredores(@RequestParam("corredor") String[] corredor) {
for(int i=0; i < corredor.length; i++) {
System.out.println("Valores: " + corredor[i]);
}
return "";
}
我只是接收一个String数组,而不是接收一个Object“Corredores”。请注意,此String数组的名称应与
形式中指定的名称相同希望它可以帮助别人!