Hi,

I try to do an iteration on a vector. When this vector contains only 
Strings, the iteration works well. For that, I use the following piece of code:

><logic:iterate id="elt" name="listform" scope="session" property="vect">
>   <bean:write name="elt" /><BR>
></logic:iterate>

But, when I try with a vector containing custom objects, it doesn't work :(
For example, I have a Vecor of Element. Element is a bean which contains 2 
attributes (2 String named: id and name)
To iterate on that vector, I use the following piece of code:

><logic:iterate id="elt" name="listform" scope="session" property="vect" 
>type="be.stluc.info.struts.Element">
>   <bean:write name="elt" property="name"/><BR>
></logic:iterate>

That doesn't work, and the following exception is thrown:

>Apache Tomcat/4.0.1 - HTTP Status 500 - Internal Server Errortype 
>Exception reportmessage Internal Server Errordescription The server 
>encountered an internal error (Internal Server Error) that prevented it 
>from fulfilling this request.exception java.lang.ClassCastException: 
>java.lang.String
>  at org.apache.jsp.ListNames$jsp._jspService(ListNames$jsp.java:178)
>  at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:107)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at 
> org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:202)
>  at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:382)
>  at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:474)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679)
>  at 
> 
>org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:431)
>  at 
> 
>org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:355)
>  at 
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:970)
>  at 
> 
>org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:404)
>  at 
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:269)
>  at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1099)
>  at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:468)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at 
> 
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>  at 
> 
>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>  at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:243)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>  at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:201)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>  at 
> org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>  at 
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2344)
>  at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>  at 
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>  at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:170)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:564)
>  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>  at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:163)
>  at 
> org.apache.catalina.core.StandardPipeline.invokeNext(StandardPipeline.java:566)
>  at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:472)
>  at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:943)
>  at 
> org.apache.catalina.connector.http.HttpProcessor.process(HttpProcessor.java:1011)
>  at 
> org.apache.catalina.connector.http.HttpProcessor.run(HttpProcessor.java:1106)
>  at java.lang.Thread.run(Thread.java:536)


Could somebody please show me the right way to acomplish the iteration ?

Thanx in advance,
Slimane

My configuration:
Apache Tomcat 4.0.1
JBuilder 6.0
JDK 1.4
Struts - nightly build of 2002/02/28

Bart: Hey, why is it destroying other toys?
Lisa: They must have programmed it to eliminate the competition.
Bart: You mean like Microsoft?
Lisa: Exactly.
[The Simpsons - 19/12/99 - BABF07] 

Reply via email to