While I don't have an answer to your question, I have an alternative.

An alternate strategy would be to include a getParameters() method in the object you 
are iterating over.  This method should have access to the current values of the id, 
firstName and lastName.  It would return a Map containing the necessary parameters.  
Your <html:link> would then be:

<html:link page="/do/NameSearch/Details" 
           name="nameSearchResults" 
           property="parameters"/>


Hope this helped.

Sri

-----Original Message-----
From: Mark Nichols [mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 06, 2002 10:56 AM
To: Struts User
Subject: Multiple pararmeters from multiple links


All -

I have a JSP which displays multiple rows of data. Each row starts with a
link based on the first column of data. The subsequent action class needs to
be passed the first three column values as parameters, like so:

/do/NameSearch/Details?id=123456?lastName=Smythe?firstName=Jon

In reading the archives I have come up with this:

[...snip...]

<!-- a bean to hold the id:name pair needed for the request this page will
submit -->
<jsp:usebean id="parms" class="java.util.HashMap" scope="page" />

[...snip...]

     <logic:iterate id="results" name="nameSearchResults" scope="session"
type="dhs.vcm.vis.form.nameSearch.ResultsForm">
      <!-- <%= results %> -->
      <pg:item>
    <dhshtml:row oddColor="#cddbeb" evenColor="#ffffff"
evenStyleClass="text" oddStyleClass="text">
     <td bgcolor="FFFFFF">&nbsp;</td>
     <td>
      <!-- populate the HashMap -->
      <%
       parms.put("id",request.getParameter("id")) ;
       parms.put("lastName",request.getParameter("lastName")) ;
       parms.put("firstName",request.getParameter("firstName")) ;
      %>
      <html:link page="/do/NameSearch/Details" name="parms" scope="page">
<!-- clientName is a combination of two other attributes, lastName &
firstName -->
       <bean:write name="results" property="clientName"/>
      </html:link>
     </td>
     <td><bean:write name="results" property="address"/></td>
     <td><bean:write name="results" property="city"/></td>
     <td><bean:write name="results" property="state"/></td>
     <td><bean:write name="results" property="clientBirthdate"/></td>
     <td><bean:write name="results" property="ssn"/></td>
    </dhshtml:row>
   </pg:item>
  </logic:iterate>

[...snip...]


However, when I compile this I get the following message:

JavaCompile: parms cannot be resolved.

How do I get the parms reference inside my iterate loop to resove?

TIA,

mark n.

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

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

Reply via email to