Comment puis-je utiliser Liste des objets avec des bandes tag « option »?
Question
J'ai une liste d'objet, produit par JPA q.getResultList()
.
Je voudrais l'utiliser dans un menu déroulant, mais Stripes tag "option" ne peux pas accepter la liste, juste Collection
, Enum
and
Map
.
Im nouveau à Java, que peut-être pourquoi le List
peut traduire à chacun d'eux, mais je ne sais pas comment puis-je résoudre ce problème.
(rayures sélectionner, option de carte, -enumeration, -Collection peut construire un menu déroulant à partir de structures d'objet d'entrée mentionné précédentes)
La solution
La documentation du options collection balise dit:
écrit un ensemble de balises
<option value="foo">bar</option>
au page basée sur le contenu d'unCollection
,Iterable
ouArray
. Chaque élément de la collection est représenté par une étiquette unique option la page. Utilise l'étiquette et la valeur les attributs de la balise pour nommer le les propriétés des objets dans leCollection
qui devrait être utilisé pour générer le corps de l'option HTML balise et l'attribut de valeur de la balise option HTML respectivement. Si (ou les deux) de l'étiquette ou de la valeur propriétés sont omis l'élément lui-même sera utilisé pour la étiquette / valeur au lieu - cela se fait à collections de soutien de types simples comme des cordes et des chiffres.par exemple. une déclaration d'étiquette qui ressemble comme:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
causerait le récipient à chercher un
Collection
appelé « chats » à travers le divers champs d'application JSP et le mettre sur la étiquette. La balise procéderait alors à itérer à travers cette collection appelantgetCatId()
etgetName()
chaque chat pour produire des étiquettes d'option HTML.
java.util.List
étant Collection
, il suffit de passer à l'attribut collection
de l'étiquette mentionnée.
Autres conseils
Un objet List
est un objet Collection
: l'interface de l'List
prolonge celle de Collection
. Vous pouvez utiliser un objet List
, comme ArrayList
ou LinkedList
dans tous les endroits où vous avez besoin d'un Collection
.
Le type de Enum
est une sorte de liste statique, en déclarant une classe comme étant un ENUM, comme suit:
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
Le type de Map
est un ensemble associatif; par exemple. le Hashtable
, HashMap
et TreeMap
sont tous les cas d'un Map
.