如何将未定义的输入数传递给表单spring mvc

时间:2013-03-31 14:05:20

标签: forms spring-mvc input

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

1 个答案:

答案 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数组的名称应与

形式中指定的名称相同

希望它可以帮助别人!