jsp に 2 つの配列リストがあり、1 つの配列リストはサーブレット コンテキストに保存され、もう 1 つは Struts2 の要求に保存されます。
現在、次のように s:merge を使用してそれらをマージしています。
<s:merge id="thirdList">
<s:param value="#application[@list1]"/>
<s:param value="#request.list2"/>
</s:merge>
次のコードを使用して、それらがマージされているかどうかを確認しました。
<s:iterator value="thirdList">
<s:property/>
</s:iterator>
両方の配列リストは POJO のものであるため、これらの POJO への参照が jsp ページに表示されます。
リスト全体をドロップダウンリストに表示したいので、そのために使用しています。
<s:select ...... list="thirdList">
</s:select>
したがって、jsp ページでは、ドロップダウンリストに POJO が表示されます。ここで、POJO 参照の代わりにいくつかの文字列値をドロップダウンに表示したいと考えています。
問題は次のとおりです。list1 は object1 のクラス (POJO) の配列リストであり、list2 は object2 のクラス (POJO) の配列リストであり、それらの異なるプロパティをドロップダウンに表示する必要があります。
たとえば、list1 にはタイプ object1 の 5 つの POJO があり、list2 にはタイプ object2 の 10 の POJO があり、私のドロップダウンには合計 15 のエントリが含まれている必要があります。
これらのプロパティをjspページに表示するには、このコードを使用しました
<s:iterator value="thirdList">
<s:property value="id_list1"/>
<s:property value="description_list1"/>
<s:property value="id_list2"/>
<s:property value="description_list2"/>
</s:iterator>
リストは正しく印刷されます。現在、s:select タグでは、使用される属性は listKey と listValue です。
<s:select>
タグで表示するためにマージされたリストを使用する必要があるためid_list1
、id_list2
、description_list1
、description_list2
で使用する必要がある 、 の値は何にする必要がlistKey
ありlistValue
ます。