どのように私はストライプス「オプション」タグを持つオブジェクトのリストを使用できますか?
質問
私はJPAのq.getResultList()
によって生成されたオブジェクトのリストを持っています。
私はドロップダウンでそれを使用したいが、ストライプス「オプション」でしょうタグがListを受け入れるカント、ちょうどCollection
、Enum
and
Map
ます。
Imは新しいJavaに、なぜおそらくList
は、それらのそれぞれに変換することができますが、私は知らないことを、私はこの問題を解決する方法について説明します。
(ストライプを選択し、オプションマップ、-enumeration、-collectionは、前の上記入力オブジェクト構造からのドロップダウンを構築することができます)。
解決
の オプション・コレクションのドキュメント のタグは述べています:
に
<option value="foo">bar</option>
タグのセットを書き込みます Aの内容に基づいて、ページCollection
、Iterable
またはArray
。各 コレクション内の要素があります 上の単一のオプションタグによって表されます ページ。ラベルと値を使用しています 名前にタグの属性 内のオブジェクトのプロパティ に使用されるべきであるCollection
HTMLオプションのボディを生成します タグとのvalue属性 それぞれのHTMLオプションタグ。もし いずれか(または両方)ラベルまたは値の プロパティ項目を省略しています 自身が使用されます ラベル/値ではなく - これがために行われます 単純型のサポートコレクション 文字列と数値のような。例えば。そのルックスタグ宣言 同様ます:
<stripes:options-collection collection="${cats}" value="catId" label="name"/>
を探すために、コンテナを引き起こします 全体で「猫」と呼ばれる
Collection
様々なJSPは、スコープとの上に置きます 鬼ごっこ。タグはその後に進むでしょう そのコレクションを反復処理 上getCatId()
とgetName()
を呼び出します HTMLのoptionタグを生成するために、各ネコます。
Aの java.util.List
> の今述べたタグのCollection
属性に渡し、> のcollection
<強いています。
他のヒント
はList
オブジェクトはCollection
オブジェクトである:List
インターフェースはCollection
のものを拡張します。あなたは、そのようなあなたがList
を必要とするすべての場所でArrayList
またはLinkedList
として、Collection
オブジェクトを使用することができます。
はEnum
型はそうように、列挙されたようにクラスを宣言することで、静的リストの一種であります
public enum MyEnum {
FirstOption, SecondOption, ThirdOption;
}
はMap
タイプがセットアソシアティブです。例えばHashtable
、HashMap
とTreeMap
はMap
のすべてのインスタンスです。