in "define" tag, we can specify the "type" property, but the type of "value" property is String, so in fact the only type you can specify is java.lang.String. so I think maybe we should change the type of the "value" property to java.lang.Object. In our project, I change like this and run my jsp page successfully. Here is my exam in JSP page: <bean:define id="enum1" type="java.util.Enumeration" value="<%=data.keys()%>" /> Note: data is type of java.util.Hashtable. If we don't change the define tag, then the jsp compiler will complain that it cannot cast java.util.Enumeration to java.lang.String.
Sorry it took so long to look into your report. It is not clear to me that you are reporting a bug in a Jakarta-Taglibs tag library. You mention your own tag library bug I don't see anything which refers to a bug in a Jakarta-Taglib.
Now I see what you mean. You would like attribute values of any type to be saved, not just a String. None of the common taglibs like application, request, session, etc. do this now, they all use String attributes. This was a design decision at the time to keep this taglibs simple. And now that the JSTL is in beta, it really supercedes these older taglibs. This won't be changed or fixed.