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(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.apache.struts.util.PropertyUtils.getSimpleProperty(PropertyUtils.java:717) at org.apache.struts.util.PropertyUtils.getNestedProperty(PropertyUtils.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]>