Выберите тег с двумя списками одного типа в 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}" />
добавьте все элементы из второго списка с помощью вычисления первого выражения, а затем верните этот список из второго выражения.