struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From adam pinder <apin...@hotmail.co.uk>
Subject RE: Inserting data into nested collections
Date Mon, 01 Mar 2010 18:31:35 GMT

 
Alex,
 
i used the following and it worked ok with struts2.
 
In JSP :-
 
<s:textfield name="opportunity.opportunityItem[0].quantity" value="12" size="5" maxlength="5"
theme="simple" cssClass="mandatory" onblur="setListPrice(%{#rowstatus.index})"/>

In Action, i have a get/set for opportunity which is an object with the following property
(with get/setters)
 
     private Collection opportunityItems = new ArrayList(0);

and the following additional method in the opportunity class
 
      public OpportunityItem getOpportunityItem(int occ)
      {
       Collection coll = this.getOpportunityItems();
       Object[] objs = coll.toArray();
       
       OpportunityItem oppItem = null;
       if (objs[occ] instanceof OpportunityItem)
       {        
        oppItem = (OpportunityItem)objs[occ]; 
       }
       
       return oppItem;
      }

you could cast the collection to ArrayList and use .get(occ) but i wanted to be able to change
collection type.
 
struts2 then takes "opportunity.opportunityItem[0].quantity" and does...
 
getOpportunity().getOpportunityItem(0).setQuantity(12)
 
i've found the utility methods are sometimes needed to handle arrays.
 
if it was just a repeating field you could define a String[] and have the fields with the
same name and struts would populate it for you.
 
regards
adam 		 	   		  
_________________________________________________________________
Do you have a story that started on Hotmail? Tell us now
http://clk.atdmt.com/UKM/go/195013117/direct/01/
---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message