I would do somthing like the following:

<TABLE border="0">
<c:forEach items="${contacts}" var="contact">
     <TR>
        <TD>${contact.name}</TD>
        <TD>${contact.number}</TD>

        <TD><c:url var="url" scope="session" value="/do/modifyContact">
                <c:param name="ID" value="${contact.id}"/></c:url>
                <a href="<c:out value='${url}'/>">Modify</a>
</c:forEach>

The action modifyContact should load the contact with the specified id, "ID"
is available by
String ID = request.getParameter("ID");
The action then stores the contact in the request scope:
request.setAttribute("contact",contact);

then forward to the jsp:

name:${contact.name} etc...

Hope that helps,

Daniel.


> -----Original Message-----
> From: andy wix [mailto:[EMAIL PROTECTED]
> Sent: 31 August 2004 17:19
> To: [EMAIL PROTECTED]
> Subject: Re: Identifying the 'clicked' line when iterating over
> collection
>
>
> Hi,
>
> I have tried most of the code in the replies and, alas, fear my
> brain is too
> small to get any working.
> I am persevering with Rick Reumann's method (because I liked the
> Struttin'
> with Struts stuff!) but I don't get a session parameter in my next page
> after the link is followed (I have changed the scope to session).  To get
> the ID would be something, but it would save me needing an action
> class at
> all if I could get the contact object representing the 'clicked' row into
> the session or request scope.
> A cut down version of the code is:
>
> <form name="form0" method="post">
> <TABLE border="0">
>       <%
>       ArrayList list = (ArrayList)session.getAttribute("Contacts");
>       Iterator it = list.iterator();
>       int id = 0;
>       while(it.hasNext()) {
>          Contact tempContact = (Contact)it.next();
>        }%>
>      <TR>
>         <TD><%=tempContact.getName()%></TD>
>         <TD><%=tempContact.getNumber()%></TD>
>
>         <TD><c:url var="url" scope="session" value="/do/modifyContact">
>                 <c:param name="ID"
> value="${form0.tempContact.id}"/></c:url>
>                 <a href="<c:out value='${url}'/>">Modify</a>
>
> Note that I am not using any Struts Forms for this Action as I
> receive the
> ArrayList from the session.  I added an html form tag as above
> because you
> had one in the example code.
>
> Cheers,
> Andy
>
> _________________________________________________________________
> Express yourself with cool new emoticons
> http://www.msn.co.uk/specials/myemo
>
>
> ---------------------------------------------------------------------
> 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