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>
Código:
¿Alguna ayuda, por favor? Muchas gracias!!! @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 } }