Wie kann ich Liste des Objekts mit Stripes „Option“ Tag verwenden?
Frage
Ich habe eine Liste des Objekts, hergestellt von JPA q.getResultList()
.
Ich möchte es in einem Drop-Down verwenden, aber Stripes "Option" Tag kann nicht akzeptieren, List, nur Collection
, Enum
and
Map
.
Im neu zu Java, deshalb vielleicht die List
zu jedem von ihnen übersetzt, aber ich weiß nicht, wie kann ich dieses Problem lösen.
(Stripes wählen, Option-Karte, -enumeration, -collection kann ein Drop-Down aus früheren erwähnten Eingangsobjektstrukturen aufzubauen)
Lösung
Die Dokumentation der Optionen-Sammlung Tag sagt:
Schreibt einen Satz von
<option value="foo">bar</option>
Tags der Seite basierend auf dem Inhalt einesCollection
,Iterable
oderArray
. Jeder Element in der Sammlung durch einen einzigen Option-Tag vertrat auf Die Seite. Verwendet das Etikett und den Wert Attribute auf dem Tag der nennen Eigenschaften der Objekte in derCollection
, die verwendet werden soll erzeugen, um den Körper der HTML-Option Tag und der Wert Attribut des HTML Option-Tag auf. Ob entweder (oder beiden) des Etiketts oder der Wert Eigenschaften sind die Artikel weggelassen selbst wird für die verwendet werden, Label / Wert statt - dies geschieht, um Unterstützung Sammlungen von einfachen Typen wie Strings und Zahlen.z. ein Tag Erklärung, dass Aussehen wie:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
würde den Behälter zu sehen verursacht für ein
Collection
„cats“ über die angerufene verschiedene JSP Tive und legen Sie es auf die Etikett. Der Tag würde dann gehen Sie zu iterieren dieser Sammlung AufrufgetCatId()
undgetName()
auf jede Katze zu produzieren Option HTML-Tags.
java.util.List
Collection
ist>, geben sie einfach an die collection
Attribut des genannten Tag.
Andere Tipps
A List
-Objekt ist ein Objekt Collection
: die der List
Schnittstelle erweitert, dass der Collection
. Sie können ein List
Objekt, wie ArrayList
oder LinkedList
in allen Orten, an denen Sie eine Collection
benötigen.
Der Enum
Typ ist eine Art statischer Liste, durch die Deklaration eine Klasse als eine Enumeration zu sein, etwa so:
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
Der Map
Typ ist ein assoziativer Satz; z.B. die Hashtable
, HashMap
und TreeMap
sind alle Instanzen eines Map
.