¿Hay alguna forma de seleccionar el valor actual en la lista desplegable de Spring MVC por <form:options>
?Spring MVC form: seleccionar el valor seleccionado?
Respuesta
Establece 'seleccionado' según corresponda basándose en el valor encuadernado.
aquí está mi solución a este problema. Su masivas, pero funciona
géneros: calificador del modelo java
// model.addAttribute("genders", genders);
cuenta: binded modelattribute para las formas de primavera
fmt: message: traduce ma "Mees" (Estonio)
<form:select path="cfGender">
<c:forEach var="item" items="${genders}">
<c:choose>
<c:when test="${account.getCfGender().getCfGender()==item.getCfGender()}">
<form:option selected="true" value="${item.getCfGender()}">
<fmt:message key="cf_gender.${item.getCfGender()}" />
</form:option>
</c:when>
<c:otherwise>
<form:option value="${item.getCfGender()}">
<fmt:message key="cf_gender.${item.getCfGender()}" />
</form:option>
</c:otherwise>
</c:choose>
</c:forEach>
</form:select>
antes de vincular el formulario al modelo, debe establecer la variable que desee que se seleccione al valor deseado en el controlador de su jsp.
Form form = new Form();
form.setFoo("bar");
model.addAttribute("form", form);
Cuando el formulario se construyó en el JSP, esa variable formulario será el valor seleccionado por defecto en la lista de opciones.
Prueba de esto, a mí me funciona
<form:select path="size">
<c:forEach items="${sizeList}" var="s" varStatus="status">
<c:choose>
<c:when test="${s eq 25}">
<option value="${s}" selected="true">${s}</option>
</c:when>
<c:otherwise>
<option value="${s}">${s}</option>
</c:otherwise>
</c:choose>
</c:forEach>
</form:select>
Gracias - He estado tratando de resolver esto todo el día! –
Por cierto, una ventaja de este enfoque es que puede mostrar varias selecciones. –
No hay necesidad de usar si otra cosa
Ejemplo:
Student student = new Student();
student.gender = "F";
model.addObject("student", student);
Map<String, String> genders = new LinkedHashMap<String, String>();
genders.put("M", "Male");
genders.put("F", "Female");
model.addObject("genders", genders);
Código JSP
modelAttribute
& commandName
son intercambiables
<c:url value="/Student/Edit" var="editstudenturl"/>
<form:form method="post" action="${editstudenturl}" modelAttribute="student" class="form-horizontal">
<form:select path="gender" class="form-control" id="gender" >
<form:options items="${genders}" />
</form:select>
</form:form>
tuve un problema similar y después de varios días de luchar con ella, yo era capaz de solucionar con la implantación de hash y métodos iguales en mi clase del modelo. El problema es que la primavera no fue capaz de determinar dónde un artículo en el menú desplegable es igual a un valor en el modelo. Pero después de implementar el hash y el igual en el objeto modelo, todo funcionó bien.
@Entity
@Table(name = "BANKS")
public class Bank implements java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = -8928809572705999915L;
private Long id;
private String bankCode;
private String bankName;
...........
@Override
public int hashCode() {
final int prime = 31;
int result = 1;
result = prime * result
+ ((bankCode == null) ? 0 : bankCode.hashCode());
result = prime * result
+ ((bankName == null) ? 0 : bankName.hashCode());
result = prime * result + ((id == null) ? 0 : id.hashCode());
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Bank other = (Bank) obj;
if (bankCode == null) {
if (other.bankCode != null)
return false;
} else if (!bankCode.equals(other.bankCode))
return false;
if (bankName == null) {
if (other.bankName != null)
return false;
} else if (!bankName.equals(other.bankName))
return false;
if (id == null) {
if (other.id != null)
return false;
} else if (!id.equals(other.id))
return false;
return true;
}
Y en la vista que tengo algo parecido a esta pregunta
<form:select path="bank" cssClass="form-control" required="true">
<form:option value="">--Select--</form:option>
<form:options items="${banks}" itemLabel="bankName"
itemValue="bankCode" />
</form:select>
- 1. spring MVC: form: radiobutton for boolean property
- 2. ¿Cómo configuro el valor seleccionado en un formulario Spring MVC: seleccione desde el controlador?
- 3. Spring MVC: Diferencia entre spring: bind y form: formulario
- 4. Spring MVC form: ¿Seleccionar Tag, múltiples selecciones que no se enlazan correctamente?
- 5. Configuración del valor seleccionado de un elemento Seleccionar en manubrios
- 6. Establecer el valor seleccionado de un control HTML 'Seleccionar'
- 7. Establecer programáticamente el valor seleccionado de un dijit Seleccionar widget
- 8. ASP.NET MVC DropDownList Valor seleccionado Problema
- 9. ASP.NET MVC DropDownListPara no seleccionar el valor del modelo
- 10. MVC - Establecer el valor seleccionado de la Lista de selección
- 11. ASP.NET MVC Form Post
- 12. Remitir dentro Spring MVC
- 13. JQuery - Obtener el valor seleccionado
- 14. KnockoutJS Seleccionar opciones y escoge el valor
- 15. Backbone.js + Spring MVC. Guardar el modelo
- 16. jQuery Seleccionar lista, valor de texto seleccionado en lugar del edificio de valor
- 17. Establecer el elemento desplegable seleccionado MVC
- 18. rails select_tag valor seleccionado
- 19. DropDownListFor ... valor seleccionado
- 20. MVC 3 Lista desplegable que pierde el valor seleccionado con ViewBag
- 21. C# MVC 3 utilizando selectlist con el valor seleccionado en la vista
- 22. cuadro combinado en MVC Spring Web
- 23. jQuery y Spring MVC
- 24. Seleccionar el valor inicial del elemento
- 25. ASP.NET MVC vs Spring MVC
- 26. f.collection_select que no muestra el valor seleccionado
- 27. Mostrar/ocultar campos según el valor seleccionado
- 28. JQuery Autocompletar verificar el valor seleccionado
- 29. DropDownListFor - no selecciona el valor "Seleccionado"
- 30. Cómo enlazar el valor seleccionado de DropDownList
no está claro. ¿Qué es 'valor actual'? ¿Dónde quieres seleccionarlo? – Bozho