У меня есть два массива на моем jsp, один массив хранится в контексте сервлета, а другой - в запросе в 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.
Проблема в том, что список1 является массивом класса (POJO) объекта1, а список2 является массивом класса (POJO) объекта2 и хочет, чтобы их различные свойства отображались в раскрывающемся списке.
Например, есть 5 POJO типа object1 в list1 и 10 POJO типа object2 в list2, и мой раскрывающийся список должен содержать всего 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
.