C'è un modo per selezionare il valore corrente nell'elenco a discesa per Spring MVC di <form:options>
?Spring MVC form: seleziona il valore selezionato?
risposta
Imposta "selezionato" come appropriato in base al valore associato.
Ecco la mia soluzione a questo problema. La sua massa, ma funziona
generi: qualificatore dal modello java
// model.addAttribute("genders", genders);
conto: modelattribute binded per le forme primaverili
fmt: messaggio: traduce m "Mees" (Estone)
<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>
prima di legare il modulo al modello, è necessario impostare qualsiasi variabile che si desidera selezionare sul valore desiderato nel controller del proprio jsp.
Quando il modulo è compilato in jsp, quella variabile modulo sarà il valore predefinito selezionato nell'elenco delle opzioni.
Prova questo, per me funziona
<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>
Grazie - Ho cercato di capirlo tutto il giorno! –
Btw, un vantaggio di questo approccio è che è possibile mostrare selezioni multiple. –
Non c'è bisogno di usare se il resto
Esempio:
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);
JSP Codice
modelAttribute
& commandName
sono intercambiabili
<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>
Ho avuto problemi simili e dopo diversi giorni di lotta con esso, sono stato in grado di risolvere il problema mediante l'attuazione di hash e metodi uguali nella mia classe del modello. Il problema è che la primavera non è stata in grado di determinare dove un oggetto nel menu a discesa è uguale a un valore nel modello. Ma dopo aver implementato l'hash e gli uguali nell'oggetto modello, tutto ha funzionato bene.
@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;
}
E nella vista che ho qualcosa di simile
<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. DropDownListFor - non seleziona il valore "Selezionato"
- 2. Seleziona non selezionato
- 3. MVC 3 Dropdown che perde il valore selezionato con ViewBag
- 4. Come impostare il valore selezionato in EnumDropDownListFor?
- 5. ASP.NET MVC DropDownList Valore selezionato Problema
- 6. mvc 4 a discesa valore predefinito selezionato
- 7. MVC DropDownList valore selezionato non funziona
- 8. Ottieni il valore selezionato di DropDownList. Asp.NET MVC
- 9. Ottieni ciascun valore selezionato usando il plugin jquery selezionato
- 10. Python Mechanize seleziona form FormNotFoundError
- 11. Spring MVC form non supportato da un oggetto modello
- 12. Symfony2 - Imposta un valore selezionato per il campo entità
- 13. Aggiungi l'attributo 'selezionato' utilizzando il valore opzione
- 14. Set Default/Null Valore con Seleziona TagHelper
- 15. Rails tag select valore selezionato
- 16. Seleziona Tag Helper in ASP.NET Core MVC
- 17. MVC ciclo nelle rasoio, generato non dropdownlist valore selezionato
- 18. Spring MVC multipart
- 19. Evento Windows Form "Nella scheda Seleziona"?
- 20. BOOTSTRAP discesa insieme selezionato valore
- 21. Seleziona il prossimo nodo del nodo selezionato in PHP DOM?
- 22. jQuery seleziona change event quando si seleziona lo stesso valore
- 23. Backbone.js + Spring MVC. Salva modello
- 24. jquery - trovare la prima selezione con il primo valore selezionato?
- 25. rotaie select_tag valore selezionato
- 26. Spring MVC RestController portata
- 27. Android ottenere il valore dal radiobutton selezionato
- 28. Select2 imposta il valore selezionato in HTML
- 29. predefinire il valore selezionato nell'elenco a discesa
- 30. binari - raccolta_seleziona il valore selezionato se definito?
questione non è chiara. qual è il "valore corrente". Dove vuoi selezionarlo? – Bozho