Выберите тег с двумя списками одного типа в Struts 2

Я использую Struts 2 в том смысле, что у меня есть требование заполнить два разных списка одного типа в раскрывающемся списке

Возможно ли это в Struts 2?

Демо-код примерно так:

<s:select list="{list1 , list2}" value="" />

Списки содержат одинаковый тип VO но с разными данными.

2 ответа

Решение

Прежде всего: такие вещи лучше выполнять в классе действий, а не в JSP.

В JSP вы можете использовать <s:append> тег.

<s:append var="appendedLists">
  <s:param value="list1" />
  <s:param value="list2" />
</s:append>

<s:select list="#appendedLists" value="" />

Используйте запятую оператора последовательности OGNL (,). Этот оператор позволяет оценить последовательность выражений OGNL. Например

<s:set var="list1" value="{1,2}"/>
<s:set var="list2" value="{3,4}"/>
<s:select list="%{#list1.addAll(#list2), #list1}" />

добавьте все элементы из второго списка с помощью вычисления первого выражения, а затем верните этот список из второго выражения.

Другие вопросы по тегам