struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sashi Ravipati" <Ravipa...@michigan.gov>
Subject RE: what setters do i implement in an indexed tag --NewBiequestion
Date Thu, 12 Jun 2003 12:49:00 GMT
John

Thanks for all the code u sent. I have started working on it, and I had
few questions (PLS bear with me if they look stupid).

1. PersonForm (which extends ActionForm) will have get and set methods 
for Name and Phone Number? This PersonForm is also initialized in
Struts-Config.xml 

2. IS myFormBean another bean which extends ActionForm ? Do I need to
set this also in my Struts-Config.xml 

Thanks



>>> jgreenhill@dayspring-tech.com 06/11/03 06:45PM >>>
Forgot to mention, I believe for the case of indexing using
logic:iterate your id must match your property. So in your example set
id="personList"

Now if you switch over to nested:iterate, the whole id thing goes away
and the property and type attributes are sufficient.

-john

-----Original Message-----
From: John Greenhill [mailto:jgreenhill@dayspring-tech.com]
Sent: Wednesday, June 11, 2003 3:37 PM
To: Struts Users Mailing List
Subject: RE: what setters do i implement in an indexed tag
--NewBiequestion


Assuming you're NOT using the lazy initialization, you could do it like
this...



1) your iterate will need to specify the type of the nested class:

<logic:iterate id="person" name="myFormBean" property="personList"
type="com.mydom.myproject.struts.Person>

Where the Person class has just the standard accessors for name and
phoneNo.


2) Your myFormBean will have the special accessors for indexing:

    // SPECIAL ACCESSORS FOR INDEXING NEEDED
    public Person getPersonList(int ndx) {
        return (PersonForm) personList.get(ndx);
    }
    public void setPersonList(int ndx, PersonForm p) {
        personList.set(ndx, p);
    }


3) Assuming you don't already know the size of your personList, your
reset method
will initialize it and create the empty Person objects to fill with the
data:

    public void reset(ActionMapping mapping, HttpServletRequest request)
{

        this.personList = new ArrayList();

        String num = request.getParameter("personListLength");
        try {
            if (num != null) {
                int len = Integer.parseInt(num);
                for (int i = 0; i < len; i++)
                    this.personList.add(new PersonForm());
            }
        } catch (NumberFormatException e) {
            //...
        }
    }

This assumes the prep action that entered the jsp figured out the size
of the list
and set it into a hidden in the jsp in a field named personListLength.

-john

-----Original Message-----
From: Sashi Ravipati [mailto:RavipatiS@michigan.gov]
Sent: Wednesday, June 11, 2003 1:19 PM
To: struts-user@jakarta.apache.org
Subject: what setters do i implement in an indexed tag --NewBiequestion


Can some body help in as how to define get and set methods when we use
indexed tags.

eg:

<logic:iterate id="person" name="myFormBean" property="personList">
  <tr>
    <td>
      <bean:write name="person" property="name"/>
      <html:hidden name="person" property="name" indexed="true"/>
    </td>
    <td>
      <html:text name="person" property="phoneNo" indexed="true"/>
    </td>
  </tr>
</logic:iterate>

What will be the get and set methods. 

Thanks

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

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