Inside the <logic:iterate> the beans returned by your getRaw() method should
be exposed with the name you specify in the iterate's 'id' attribute. So
something along the lines of.....

 <logic:iterate name="dateForm" property="raw" id="foo"
               indexId="ctr" >
  <tr>
     <td><bean:write name="ctr" /></td>
     <td><html:text name="foo"
                      property="time" /></td>
  </tr>
 </logic:iterate>

Niall

----- Original Message ----- 
From: <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, February 24, 2004 12:11 PM
Subject: error no getter method defined while inside logic:iterate


> Hi list,
>
>
> I am having a form which contains a single property, an array with
> "RawRecord", a simple java bean which simply contains 4 strings,
> including getters, setters and a constructor.
>
>
> In my jsp, it works fine when i make a call like this:
>
>
> <html:text name="dateForm" property="rawRecord[1].time" />
>
>
> where dateform is the name of my action form, and rawRecord is
> the array in which the RawRecord  beans reside.
>
>
> However, as soon as I put this inside a <<logic:iterate> loop, all
> goes wrong: I get the following error:
>
>
> No getter for property time of bean
> org.apache.struts.taglib.html.BEAN
>
>
> which is a lie, because there is a getter for my property, otherwise
> the thing wouldn't have been working without the logic:iterate tag.
>
>
> The jsp looks like this:
>
>
> <logic:iterate name="dateForm" property="raw" id="foo"
>
> indexId="ctr" >
>
> <tr>
>
> <td><%= ctr %></td>
>
> <td>
>
> <html:text name="dateForm"
>
> property="rawRecord[1].time" />
>
> </td>
>
> ...
>
>
> The DateForm looks like this
>
>
> public class DateForm extends ActionForm {
>
> //fields
>
> private RawRecord raw[];
>
>
> public DateForm() {
>
> raw = new RawRecord[3];
>
> raw[0] = new RawRecord("","","","");
>
> raw[0] = new RawRecord("","","","");
>
> raw[0] = new RawRecord("","","","");
>
> }
>
>
> //getters setters
>
>
> public RawRecord getRawRecord(int index) {
>
> return raw[index];
>
> }
>
> public RawRecord[] getRaw {
>
> return raw;
>
> }
>
> public void setRaw(RawRecord[] records) {
>
> raw = records;
>
> }
>
> + some reset stuff
>
>
> The RawRecord bean is really just a class with four strings as
> fields, + getters + setters + a constructor
>
>
> I did not include struts-config.xml, because it is correct: the
> dateform is normally declared as a form bean, and the action is not
> even used yet, as the error takes place before that stage. And
> struts-config worked without that logic:iterate tag...
>
>
> SO, how can I get this to work inside the logic:iterate tags?? What
> am i doing wrong here??
>
>
> thanks, Rinke
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to