<c:forEach var="pageInfo" items="${topicForm.pages}"> <c:declare id="pageInfo" type="<package>.PageForm"/> <html:link forward="getPage" name="pageInfo" property="pageTopicMap" title="<%=pageInfo.getName()%>"> <c:out value="${pageInfo.pageSequence + 1}"/> </html:link> </c:forEach>
The important part is the c:declare, which defines the scripting variable (var attributes in other tags don't). Also the type attribute lets you remove the cast from the scriptlet. You could also use bean:define, but if you're migrating away from Struts tags, you'll probably want to do it this way. -- Tim Moore / Blackboard Inc. / Software Engineer 1899 L Street, NW / 5th Floor / Washington, DC 20036 Phone 202-463-4860 ext. 258 / Fax 202-463-4863 > -----Original Message----- > From: Matt Raible [mailto:[EMAIL PROTECTED]] > Sent: Wednesday, April 24, 2002 1:01 AM > To: 'Tag Libraries Users List' > Cc: 'Struts Developers List' > Subject: c:forEach compared to logic:iterate > > > I'm using the logic:iterate tag in the following manner: > > <logic:iterate id="pageInfo" name="topicForm" property="pages"> > <html:link forward="getPage" > name="pageInfo" property="pageTopicMap" > title="<%=((PageForm)pageInfo).getName()%>"> > <c:out value="${pageInfo.pageSequence + 1}"/> > </html:link> > </logic:iterate> > > Which works great! However, I was hoping to migrate my logic > tags to JSTL and the following doesn't work: > > <c:forEach var="pageInfo" items="${topicForm.pages}"> > <html:link forward="getPage" > name="pageInfo" property="pageTopicMap" > title="<%=((PageForm)pageInfo).getName()%>"> > <c:out value="${pageInfo.pageSequence + 1}"/> > </html:link> > </c:forEach> > > However, I get the following error when I try this: > > [ServletException in:/viewer/coursePage.jsp] Unable to > compile class for JSP An error occured between lines: 83 and > 84 in the jsp file: /viewer/coursePage.jsp Generated servlet error: > D:\Tools\tomcat-4.0.1\work\localhost\onpoint\viewer\coursePage > $jsp.java: > 743: Undefined variable: pageInfo > _jspx_th_html_link_0.setTitle(((PageForm)pageInfo).getName()); > ^ 1 error ' > > > > > -- > To unsubscribe, e-mail: > <mailto:struts-dev-> [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]>