Rookie007
Rookie007

Reputation: 1219

How to use <s:select> tag with two lists of the same type in Struts 2?

I am using Struts 2, and in that I have a requirement, I have to populate two different lists of same type as a dropdown box. Is it possible in Struts 2?

Demo code something like this:

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

The lists contain the same type of VO, but with different data.

Upvotes: 2

Views: 1056

Answers (2)

Roman C
Roman C

Reputation: 1

Use the OGNL sequence operator comma(,). This operator allows to evaluate a sequence of OGNL expressions. For example:

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

add all elements from the second list via evaluating first expression, then return this list from the second expression as a result.

Upvotes: 2

Aleksandr M
Aleksandr M

Reputation: 24396

First of all: you are better of doing that kind of things in action class not in JSP.

In JSP you can use <s:append> tag.

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

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

Upvotes: 2

Related Questions