struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ezequiel Puig" <>
Subject [s2] Collection, array and <s:url> tag.
Date Wed, 06 Jun 2007 08:26:55 GMT


I have been using struts 2 since a while and there is some things about
the <s:url> tag i don't understant.


Let's say we have an array in our action (with the getters and setters):


    private String[] myArray;


    public String[] getMyArray() {

        return myArray;


    public void setMyArray(String[] myArray) {

        this.myArray = myArray;



and that in our action, we do something to initializate the array:


    String[] arr = new String[3]; 

    arr[0] = "Aa";

    arr[1] = "Bb";

    arr[2] = "Cc";


Now, if in our JSP we use the <s:url> tag:


<a href="<s:url includeParams="none" action="TestUrlArray.action ">

                    <s:param name="myArray" value="myArray" />

             </s:url>" >Use Link



we can see that the created url is: 




Also, in the destination action, we are able to recover the information
from the variable "myArray" if we have defined something like "private
String[] myArray".


So for, so good.


Now, let's see the Collections:


In the action we will have:


    private Collection<String> myCollection = new ArrayList<String>(); 


    public Collection <String> getMyCollection () {

        return myCollection;


    public void setMyList(Collection <String> myCollection) {

        this.myCollection = myCollection;



we initialize the collection:


    Collection<String> col = new ArrayList<String>();






Finally, we use the <s:url> tag:


<a href="<s:url includeParams="none" action="TestUrlArray.action ">

                    <s:param name="myCollection" value="myCollection" />

             </s:url>" >Use Link



Here, the created link looks like:


But, if we try to recover the collection in the destination action
(where offcourse we have defined "Collection<String> col = new
ArrayList<String>();" ), we will see that we recover a collection of
only one element, and that this element is our old collection (the one
with 3 elements).


Now, it's time for questions:


1)       Is it possible to manipulate arrays with the s2 tags ? (by
manipulate, i mean create a new array, add an element to an existing
array, remove an element, etc.)

2)       Is it possible to manipulate collections with the s2 tags ?
(same meaning to manipulate)

3)       Is there a work-arround to recover a Collection not as a new
collection of one element that contains a collection but as a new
collection that is like the collection we passed ?



Well, any ideas will be reallly wellcome :-)









  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message