2010-11-10 6 views
5

Ich möchte eine Dropdown-Liste auffüllen und ich möchte nicht weiter zur Datenbank gehen. Ich dachte daran, meine Länderliste oder Sprachliste in einer Eigenschaftendatei zu haben. Auf diese Weise konnte ich es einlesen und dann einer Variablen zuweisen. Ich könnte das durch den ModelAndView-Typ zurückgeben.Spring MVC besten Weg zum Auffüllen Dropdown-Liste - Eigenschaftendatei?

Ist das ein guter Ansatz? Ich bin nicht sicher, wie man statische Daten sonst speichert. Ich möchte es nicht in einer Klasse halten, weil es schwieriger wird, es zu aktualisieren, wenn es eine Änderung geben muss.

+0

+1, ausgezeichnete Frage. Könnte auch für Dinge wie Staaten/Provinzen arbeiten. –

+0

Wie könnte das technisch gemacht werden? Haben Sie eine lange riesige Immobilie mit allen Ländernamen? Ich verstehe im Frühjahr 3, dass dies mit @Value in den Code eingelesen werden kann. Ich nehme an, dies sollte ein statischer Anruf sein, da wir nicht wollen, dass dies jedes einzelne Mal passiert .... das ganze lesen und zuordnen .... Ich frage mich immer noch, was der beste Ansatz ist .... wie man statisch liest Daten? Kann jemand beraten und auch ein Codebeispiel hinterlassen. Vielen Dank... – logixplayer

Antwort

3

habe eine Antwort bekommen! Wenn ich eine Liste von Ländern oder Sprachen bekam, etwas statisch, kann ich dies in der Datei meines Frühlings Kontext habe:

<util:map id="countryList" map-class="java.util.HashMap"> 
    <entry key="CA" value="Canada"/> 
    <entry key="US" value="United States"/> 
    <entry key="PK" value="Pakistan"/> 
    <entry key="UE" value="UAE"/> 
</util:map> 

usw.

I Länderliste in meinem Modeland injizieren würde (oder ich glaube, Sie kann es auch direkt zugreifen, ohne dass es in Modeland zu setzen cuz es

im globalen Kontext Frühling) ist und dann macht $ {} Länderauswahl in meiner jsp tun -
<form:select path="country">
<form:option value="NONE" label="--- Select ---"/>
<form:options items="${countryList}" />
</form:select>

Das Optionsfeld sollte automatisch machen. Das ist der Nervenkitzel von, ich werde es jetzt versuchen !! Danke !!

0

Sie könnten diese Daten auch in der Datenbank speichern und einen Cache zum Beispiel wie ehCache verwenden. Da sie in einer Datenbank gespeichert sind, können sie leicht aktualisiert werden, und der Cache würde es vermeiden, jedes Mal, wenn Sie diese Informationen benötigen, zur Datenbank zu gehen.

Verwandte Themen