Title: RE: Question on the ActionForm design for dynamic data?
Yes & Yes.  While the form will be automatically populated, you will, however, need to write your own validation for the form & collection(s).
----- Original Message -----
From: Joyce Tang
Sent: Monday, May 21, 2001 7:56 PM
Subject: RE: Question on the ActionForm design for dynamic data?

 
Thank you Jeff.

I am wondering if the Struts can handle the validation of each row?  In the same time, will the form be automatically populated by the form?

Thanks
-----Original Message-----
From: Jeff Trent
To: [EMAIL PROTECTED]
Sent: 5/20/01 5:11 AM
Subject: Re: Question on the ActionForm design for dynamic data?

(1) Have a Vector / Collection of contributors (ie. getContributors())
belonging to your form.  Inside that function, check to see if you need
more rows by using code similar to the following:
 
    public Vector getCustomerContacts()
    {
        CustomerContact lastCustomerContact =
(CustomerContact)this.customerContacts.lastElement();
        if (!lastCustomerContact.isEmpty())
// is this slot being used?
            this.customerContacts.addElement(new CustomerContact());
// always have one available slot at the end of the matrix
           
        return this.customerContacts;
    }

(2) Do not use the reset() method.
 
(3) On your JSP, use code like this:
    <% int i = 0; %>
    <logic:iterate id="customerContact" name="adminUpdateProfileForm"
property="customerContacts">
       <tr>
        <td class="smallFont"><input type='text'
name="customerContact[<%= i %>].contactName" value="<%=
((com.domain.project.CustomerContact)customerContact).getContactName()
%>"></td>
        <td class="smallFont"><input type='text'
name="customerContact[<%= i %>].contactTitle" value="<%=
((com.domain.project.CustomerContact)customerContact).getContactTitle()
%>"></td>
        <td class="smallFont"><input type='text'
name="customerContact[<%= i %>].contactPhone" value="<%=
((com.domain.project.CustomerContact)customerContact).getContactPhone()
%>"></td>
       </tr>
       <% i++; %>
    </logic:iterate>

(4) Have a button on the form "Add more rows" in which case the form
posts to itself and will cause a new row to be added at the bottom of
the grid.
 
 
Hope this help,
Jeff
 

----- Original Message -----
From: Joyce Tang <mailto:[EMAIL PROTECTED]
To: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]
Sent: Saturday, May 19, 2001 11:28 PM
Subject: Question on the ActionForm design for dynamic data?


Here is the situation.

I am developing a system to maintain a contribution plan.  I need to
input the plan information first and add unlimited number of
contributors, specifying each share of the plan.  So there will be a
page with contribution plan information and a list of all the
contributors.  The information you can edit on this page is the
percentage of share of each contributor. Validation rules are: share
need to add up to 100 and share figure is an integer between 0 and 100.
Since the number of contributors is unknown in advance, how should I
design the ActionForm?

Thanks a lot,

Joyce

Reply via email to