0

我正在创建一个包含一定数量的隐藏输入的表单,我想将它传递给我的 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 服务器中接收它?

4

1 回答 1

-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 "";
    }

我没有收到对象“Corredores”,而是收到了一个字符串数组。请注意,此 String 数组的名称应与表格中给出的名称相同

希望它可以帮助别人!

于 2013-03-31T16:36:29.767 回答