2011-02-09 7 views
5

Por favor, eche un vistazo a los códigos a continuación. Se muestran cuatro cuadros de texto.Manejo múltiple <input> s con el mismo nombre en spring-mvc

Si ingreso "1" y "2" a los cuadros de texto anteriores, estos se agrupan como "1,2" separados por comas, como esperaba.

Sin embargo, si ingreso "2001/01/01" y "2001/01/02" en el resto de dos cuadros están encuadernados "2001/01/01". "2001/01/01" solo se une sorprendentemente. El primer parámetro parece tener una prioridad para enlazar.

Quiero saber dónde se definen las especificaciones (HTTP o SpringMVC o ...?) Sobre eso con el fin de comprender de manera profunda y precisa. ¿Alguien me puede ayudar?

Form 
public class SampleForm { 

    private String name; 

    private Date date; 

    public Date getDate() { 
     return date; 
    } 

    public void setDate(Date date) { 
     this.date = date; 
    } 

    public String getName() { 
     return name; 
    } 

    public void setName(String name) { 
     this.name = name; 
    } 
} 

JSP 
<form:form modelAttribute="form" method="post"> 
    <form:input path="name" /> 
    <form:input path="name" /> 
    <form:input path="date" /> 
    <form:input path="date" /> 
    <p> 
     <input type="submit" name="register" value="register" /> 
    </p> 
</form:form> 

Respuesta

5

Es lógico. Varias cadenas se pueden representar como una String estando separadas por comas. Múltiples objetos Date no se pueden representar como un objeto Date.

Puede intentar usar String[] y Date[] en su lugar.

2
private List<Date> date= new ArrayList<Date>(); 

    public List<Date> getDate() { 
     return date; 
    } 
    public void setDate(List<Date> date) { 
     this.date= date; 
    } 

Se va a resolver su problema.

Cuestiones relacionadas