Hi Niall, List
thanks for you answer. I tried out you suggestion (literary and in
several variations), but it does not help: still the same error.
no getter defined.
If you have any other suggestions, I'd be happy.
Otherwise I will just try a workaround which is not such a nice
sollution, but it will work I guess: just put everything, all different
fields, in one long array, in stead of working with the
array[0].fieldname option.
rinke
On 25 Feb 2004, at 10:00, Niall Pemberton wrote:
> 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]
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]