我的jsp上有两个arraylist,一个arraylist存储在servletcontext中,另一个存储在Struts2的request中。
现在我使用 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,因此它会在 jsp 页面上显示对这些 POJO 的引用。
现在我想将整个列表显示到一个下拉列表中,所以我正在使用它。
<s:select ...... list="thirdList">
</s:select>
所以在 jsp 页面上,下拉列表显示下拉列表中的 POJO。现在我想在下拉列表中显示一些字符串值,而不是 POJO 引用。
问题是:list1 是object1 的类(POJO)的arraylist,list2 是object2 的类(POJO)的arraylist,并且希望它们的不同属性显示在下拉列表中。
例如,list1 中有 5 个 object1 类型的 POJO,list2 中有 10 个 object2 类型的 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>
的值应该是什么,我必须在and中使用它。id_list1
id_list2
description_list1
description_list2
listKey
listValue