With all the features of Struts 1.1 and 1.1-beta, why do you continue in
this direction?

Am I missing something?

I can create a 5 page wizard and never write a single line of ActionForm
code.

Help me if I am misunderstanding.

JM

P.S.  Shouldn't this be asked in the [EMAIL PROTECTED]???



> -----Original Message-----
> From: Thorbjoern Andersen [mailto:[EMAIL PROTECTED]]
> Sent: Monday, April 29, 2002 8:19 AM
> To: Struts Users Mailing List
> Subject: Beans constructed with BCEL makes html:option throw
> ClassCastExceptionin Struts 1.0.2
>
>
> As mentioned on this list previously I have, with great labour, written
> a class which generates beans on the fly using BCEL based on a
> user-provided Property mapping field-named to field-types.
>
> This now works well, but my first attempt on using these beans with
> Struts have failed with the error message quoted at the end of this
> message, which indicates to me that I have missed some part here.
>
> I have an ArrayList of my beans, where this code works nicely:
>
>     {
>       java.util.ArrayList al =
> abf.createBeanArrayList(stmt.executeQuery( "select distinct donor_ab0
> from ab0_rules order by donor\
> _ab0"));
>       pageContext.setAttribute( "bloodTypes", al);
>       java.util.ListIterator i = al.listIterator();
>       while( i.hasNext()) {
>          Object o = i.next();
>          out.println( o + " : " + BeanUtils.describe( o) + "<br>");
>       }
> }
>
> and prints out the following:
>
> org.scandiatransplant.anonybeans.Xcc416f1298d2f3e4.3e9584e0f1d96d@415727
> : {donor_ab0=0, class=class
> org.scandiatransplant.anonybeans.Xcc416f1298d2f3e4.3e9584e0f1d96d}
>
> org.scandiatransplant.anonybeans.Xcc416f1298d2f3e4.3e9584e0f1d96d@c0fc8e
> : {donor_ab0=A, class=class
> org.scandiatransplant.anonybeans.Xcc416f1298d2f3e4.3e9584e0f1d96d}
> ...
>
> But when I want to use it with Struts 1.0.2 in the construct
>
> ...
> <html:select property="bloodType">
> <html:options collection="bloodTypes" property="donor_ab0"
>     labelProperty="donor_ab0"/>
> </html:select>
> ...
>
> it fails as described.  If it is related, I have found that I can easily
>   cast the result of "bean.newInstance()" to an Object, but not to a
> Class.
>
> Any thoughts on how to fix this would be appreciated.  I am so close to
> making this work :-)
>
>
>
>
> The error message is as follows
>
> java.lang.IllegalArgumentException: java.lang.ClassCastException@4649ed
>       at sun.reflect.GeneratedMethodAccessor10.invoke(Unknown Source)
>       at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAc
> cessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:324)
>       at
> org.apache.struts.util.PropertyUtils.getSimpleProperty(PropertyUti
> ls.java:717)
>       at
> org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUti
> ls.java:426)
>       at
> org.apache.struts.util.PropertyUtils.getProperty(PropertyUtils.java:453)
>       at
> org.apache.struts.taglib.html.OptionsTag.doEndTag(OptionsTag.java:202)
>       at _k__jsp._jspService(/k1/k.jsp:146)
>       at com.caucho.jsp.JavaPage.service(JavaPage.java:74)
>       at com.caucho.jsp.Page.subservice(Page.java:485)
>       at
> com.caucho.server.http.FilterChainPage.doFilter(FilterChainPage.java:179)
>       at com.caucho.server.http.Invocation.service(Invocation.java:288)
>       at
> com.caucho.server.http.CacheInvocation.service(CacheInvocation.java:132)
>       at
> com.caucho.server.http.ServletServer.serviceTop(ServletServer.java:937)
>       at
> com.caucho.server.http.HttpRequest.handleRequest(HttpRequest.java:213)
>       at
> com.caucho.server.http.HttpRequest.handleConnection(HttpRequest.java:158)
>       at com.caucho.server.TcpConnection.run(TcpConnection.java:140)
>       at java.lang.Thread.run(Thread.java:536)
>
>
>
>
> --
>    Thorbjoern Ravn Andersen
>    Scandiatransplant, c/o Christian Mondrup
>    89 49 53 01
>    http://biobase.dk/~tra
>
>
> --
> 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