Come posso utilizzare Elenco di oggetto con tag Stripes “opzione”?
Domanda
Ho una lista di oggetti, prodotti da APP q.getResultList()
.
Mi piacerebbe utilizzarlo in un menu a discesa, ma tag "opzione" Stripes posso accettare List, solo Collection
, Enum
and
Map
.
Im nuovo a Java, che il motivo per cui forse il List
può tradotto a ciascuno di loro, ma non so come posso risolvere questo problema.
(Stripes selezionare, l'opzione-map, -enumeration, -Collection può costruire un menu a discesa da precedenti strutture oggetto di input menzionato)
Soluzione
La documentazione del opzioni della collezione tag dice:
Scrive un insieme di tag al
<option value="foo">bar</option>
pagina in base ai contenuti di unCollection
,Iterable
oArray
. Ogni elemento della collezione è rappresentato da un singolo tag opzione la pagina. Utilizza l'etichetta e il valore attributi del tag di nominare il proprietà degli oggetti nelCollection
che dovrebbe essere utilizzato per generare il corpo del l'opzione HTML tag e l'attributo valore del opzione etichetta HTML, rispettivamente. Se uno (o entrambi) dell'etichetta o valore sono omessi dell'elemento si saranno utilizzati per la etichetta / valore invece - questo è fatto per collezioni di supporto di tipi semplici come stringhe e numeri.es. una dichiarazione che sembra tag come:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
causerebbe il contenitore per cercare un
Collection
chiamato "gatti" in tutto il diversi scopi JSP e impostare sulla etichetta. Il tag dovrebbe quindi procedere al iterare che la raccolta chiamandogetCatId()
egetName()
su ogni gatto per produrre tag opzione HTML.
Un java.util.List
essere Collection
, basta passare all'attributo collection
del tag menzionato.
Altri suggerimenti
Un oggetto List
è un oggetto Collection
: l'interfaccia del List
estende quella di Collection
. È possibile utilizzare un oggetto List
, come ad esempio ArrayList
o LinkedList
in tutti i luoghi in cui è necessario un Collection
.
Il tipo Enum
è una sorta di elenco statico, dichiarando una classe come un'enumerazione, in questo modo:
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
Il tipo Map
è un insieme associativo; per esempio. il Hashtable
, HashMap
e TreeMap
sono tutte le istanze di un Map
.