Spring MVC-Formular-Tags: Gibt es eine Standardmethode „Keine Auswahl“ Artikel hinzufügen?

StackOverflow https://stackoverflow.com/questions/162497

  •  03-07-2019
  •  | 
  •  

Frage

Es gibt eine dropdown und ich möchte „keine Auswahl“ Element der Liste wich hinzufügen sollte mir ‚null‘ geben, wenn vorgelegt. Ich verwende SimpleFormController abgeleitet Controller.

protected Map referenceData(HttpServletRequest httpServletRequest, Object o, Errors errors) throws Exception {
    Map<String, Object> map = new HashMap<String, Object>();

    map.put("countryList", Arrays.asList(Country.values()));

    return map;
}

Und der JSPX Teil ist

<form:select path="country" items="${countryList}" title="country"/>

Eine mögliche Lösung scheint in das Hinzufügen eines Null-Wert zu Beginn der Liste zu sein und dann einen benutzerdefinierten Property mit dieser ‚Null‘ disply als ‚keine Auswahl‘. Gibt es eine bessere Lösung?

@Edit: Ich gelöst habe dies mit einer benutzerdefinierten Validierung Anmerkung, die, wenn der ausgewählte Wert überprüft wird „No Selection“. Gibt es eine Standard und einfachere Lösung?

War es hilfreich?

Lösung

Eine Option:

<form:select path="country" title="country" >
     <form:option value="">&nbsp;</form:option>
     <form:options items="${countryList}" />
</form:select>

Andere Tipps

Ich glaube nicht, dass Sie einen Eigenschaftseditor für diese benötigen sollten. Wenn die „leere“ Option ist zuerst in der Liste, und der Tag, der die Liste ausgibt, nicht einer von ihnen markieren, wie ausgewählt, dann sollte der Browser die erste, „leer“ eine automatisch auswählen.

Wenn Sie das Formular abgesendet hat, versuchen, es zu arbeiten, so dass der „leere“ Wert auf Ihren Befehl als null gebunden ist, das automatisch geschehen könnte, je nach Art.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top