Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2014, 04:10
pedrojo
 
Fecha de Ingreso: enero-2007
Mensajes: 55
Antigüedad: 17 años, 3 meses
Puntos: 1
Spring MVC valor seleccionado en form:selected cuando hay error de validación

Tengo un formulario en Spring MVC utilizando security. La idea es que mientras no se pongan todos los campos correctamente no deja continuar y recarga de nuevo el formulario con los mismos datos introducidos pero con mensajes de error en los que no cumplen las reglad de error.

Con los campos de texto me funciona todo bien y los vuelve a cargar cuando hay error, el problema es en los campos <form:select y <form:select multiple que cuando se recarga el formulario se muestran sin ninguna selección siendo que el usuario y el usuario tiene que volver a rellenarlos (siendo que antes ya lo había hecho). Como digo esto solo me pasa con los form:select, con los form:input los vuelve a recargar correctamente.

Un trozo de código de la vista:

Código HTML:
<tr>
            <td><form:label path="TechContactName"><spring:message code="label.techcontactname"/><sup>*</sup></form:label></td>
            <td><form:input path="TechContactName" /></td>
            <td><form:errors path="techContactName" cssClass="error" /></td>
        </tr> 


<tr>
            <td><form:label path="LicenseProduct"><spring:message code="label.licenseproduct"/><sup>*</sup></form:label></td>
            <td><form:select path="licenseProduct" id="selectProduct" size="6" >
                        <option >Option 1</option>
                        <option >Option 2</option>
                        <option >Option 3</option>
                        <option >Option 4</option>
                        <option >Option 5</option>
                        <option >Option 6</option>
                </form:select></td>
            <td><form:errors path="licenseProduct" cssClass="error" /></td>
    </tr>

    <tr>
            <td><form:label path="DeployCountries"><spring:message code="label.deploycountries"/><sup>*</sup></form:label></td>
            <td><form:select path="deployCountries" id="selectCountries" multiple="multiple" >
                       <option value="AT">Austria</option>
                       <option value="BE">Belgium</option>
                       <option value="DK">Denmark</option>
                       <option value="FI">Finland</option>
                       <option value="FR">France</option>
                       <option value="DE">Germany</option>
                </form:select> </td>
           <td><form:errors path="deployCountries" cssClass="error" /></td>
        </tr> 
el controller:

Código:
@SuppressWarnings("finally")
    @RequestMapping(value = "/add", method = RequestMethod.POST)
    public String addLicense(@Valid @ModelAttribute(value="license")  LicenseEntity license, BindingResult result, ModelMap map, HttpServletRequest request) 
    {
        if(result.hasErrors()){
            System.out.println("validation errors size..."+result.getErrorCount());

            return "editLicenseList";
        } else {
            //all works correctly           
        }

    }
¿Alguna ayuda, por favor? Muchas gracias!!!