# STRUTS2 - Array als Parameter übergeben



## Mike_mike123 (27. Feb 2012)

Hallo zusammen!

Ich möchte gerne an eine s:component ein Array übergeben. Es funktioniert wenn ich das so mache:

```
<s:param name="keys" value="{'key1', 'key2', 'key3', '...'}"/>
```

Da ich aber zwei unterschiedliche Arrays habe, in Abhängigkeit von einem anderen Schlüssel, wollte ich folgendes machen:

```
<s:param name="keys">
<s:if  test="a == 1>
{'key1', 'key2', 'key3', '...'}
</s:if>
<s:else>
{'key222', 'key333', 'key444', '...'}
</s:else>
</s:param>
```

Das funktioniers so leider nicht. 
Wie kann ichdas lösen?

Danke & Grüße,
Mike


----------



## jwiesmann (28. Feb 2012)

Ich hab zwar keine Ahnung von Struts .. aber ich würd es mal so pobieren (ich lass das mal stehen .. weil es so ein schönes Wort ist  sollte eigentlich probieren heißen!)

[XML]
<s:if  test="a == 1">
<saram name="keys" value="{'key1', 'key2', 'key3', '...'}"/>
</s:if>
<s:else>
<saram name="keys" value="{'key222', 'key333', 'key444', '...'}"/>
</s:else>
</saram>

[/XML]

Viel Glück


----------



## Mike_mike123 (29. Feb 2012)

@jwiesmann: Danke für den Vorschlag, aber das hatte ich scho probiert und es geht nicht.

Meine Lösung jetzt mit einer Variable:


```
<s:if  test="a == 1">
    <s:set var="keyList" value="{'key1', 'key2', 'key3', '...'}"/>
</s:if>
<s:else>
    <s:set var="keyList" value="{'key222', 'key333', 'key444', '...'}"/>
</s:else>

<s:param name="myParam" value="#keyList"></s:param>
```

Grüße,
Mike


----------

