You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Pierre Henry <he...@hta-bi.bfh.ch> on 2004/01/11 12:32:30 UTC

Re: populate indexed property : skipping read-only property - SOLVED

Pierre Henry wrote:

> Hi all,
>
> I am trying to use an indexed property following the howto 
> (http://www.apache.org/~sraeburn/maven/faqs/indexedprops.html). I also 
> read many many related mails on this list, but... :(
>
> I have no problem with the getters, but unfortunately, I can not make 
> it work to set the values of the indexed property.
>
> The property is a simple String. The number of  them is completely 
> dynamic.
>
> The output of tomcat seems to indicate that the BeanUtils.populate 
> does not "see" my indexed setter. Here is the output :
> ...
> [DEBUG] RequestProcessor - - Populating bean properties from this request
> [DEBUG] BeanUtils - 
> -BeanUtils.populate(singha.actions.ReservationStep3Form@114e
> f62, {customerCategoryId[2]=[Ljava.lang.String;@1703484, 
> customerPhone=[Ljava.la
> ng.String;@187e184, customerCategoryId[0]=[Ljava.lang.String;@1e6cf07, 
> customerL
> astName=[Ljava.lang.String;@2209db, 
> customerFirstName=[Ljava.lang.String;@b53b32
> , customerAddress=[Ljava.lang.String;@41647f, 
> customerCategoryId[1]=[Ljava.lang.
> String;@12cd736, customerEmail=[Ljava.lang.String;@e51bda})
> [DEBUG] BeanUtils - -Skipping read-only property
> [DEBUG] ConvertUtils - -Convert string 's' to class 'java.lang.String'
> [DEBUG] BeanUtils - -Skipping read-only property
> [DEBUG] ConvertUtils - -Convert string 's' to class 'java.lang.String'
> [DEBUG] ConvertUtils - -Convert string 's' to class 'java.lang.String'
> [DEBUG] ConvertUtils - -Convert string 's' to class 'java.lang.String'
> [DEBUG] BeanUtils - -Skipping read-only property
> [DEBUG] ConvertUtils - -Convert string 's' to class 'java.lang.String'
> [DEBUG] RequestProcessor - - Validating input form properties
> [DEBUG] RequestProcessor - - Looking for Action instance for class 
> singha.actions.ReservationStep3Action
> ...
>
> Here is a snippet of my ReservationStep3Form FormBean :
>      private ArrayList customerCategoryIds = new ArrayList();
>      public void reset(ActionMapping mapping,
>              HttpServletRequest request)
>    {
>      ...
>      customerCategoryIds = new ArrayList();
>    }
>
>    public String getCustomerCategoryId(int index){
>      System.out.println("getCustomerCategoryId");
>      if(index < customerCategoryIds.size()) return 
> (String)customerCategoryIds.get(index);
>      return null;
>    }
>      public void setCustomerCategroryId(int index, String value){
>      if(index >= customerCategoryIds.size()) 
> customerCategoryIds.ensureCapacity(index+1);
>      customerCategoryIds.set(index,  value);
>    }
>
> Here is the relevant part of the JSP :
> I have a list of positions object from the action. I want to add some 
> info to these positons, and in the same form get some infos about the 
> customer (name...).
>
> <html:form action="reservationStep3">
> <logic:iterate id="position" name="positions" indexId="index">
>    <html:select property='<%= "customerCategoryId[" + index + "]" %>' >
>         <logic:iterate id="price" name="position" property="value">
>               <html:option value="price.customerCategoryId" 
> style="text-align:right">
>                   <bean:write name="price" 
> property="customerCategory.name" /> -
>                   <bean:write name="price" property="formattedValue"/>
>               </html:option>
>         </logic:iterate>               </html:select>
> </logic:iterate>
> //other fields (customer name, address etc...)
>
> This JSP generates the right html like :
>
> <select name="customerCategoryId[0]" >
>     <option value="123" >Normal - $14.00</option>
>     ...
> </select>
>
> DO I have to add something to struts-config ? Or what do I have to do, 
> what do I do wrong  ? Any help is really welcome !
>
> Pierre Henry
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: struts-user-help@jakarta.apache.org
>
>
Sorry every body. The problem was only that I wrote 
setCustomerCategroryId  instead of category... and was too tired to even 
notice that...

Sorry, I hope nobody spent time on this...

Pierre Henry


---------------------------------------------------------------------
To unsubscribe, e-mail: struts-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: struts-user-help@jakarta.apache.org