Unfortunately, you're stuck -- and you can blame Java for this one ;-). If you look at the JavaDocs for java.lang.Object (the top-level superclass for all Java classes), you'll see that it includes a getClass() method that returns the java.lang.Class for a paritcular object. Therefore, you cannot define your own "class" property (in the JavaBeans sense) as a String, because the types will not match.
In the Struts tags that generate CSS class identifiers, I used an attribute named "styleClass" instead, to get around this problem. Craig On Fri, 16 Nov 2001, Nick Pierpoint wrote: > Date: Fri, 16 Nov 2001 12:42:18 -0000 > From: Nick Pierpoint <[EMAIL PROTECTED]> > Reply-To: Tomcat Users List <[EMAIL PROTECTED]> > To: [EMAIL PROTECTED] > Subject: Using "class" as an attribute > > > Hello All. > > I have a custom tag that Tomcat (Jasper) won't compile. > > The problem is one of its attributes called "class". I want to include this > attribute so that users of the tag can set the style sheet attribute in the > same way as for other HTML4 tags. > > Corresponding to the "class" attribute, there is a setClass(String) method. > There is not a getClass() method as it clashes with the getClass() method of > the underlying Object class. > > I have tried this on Tomcat to 3.3 and it produces the following error > message: > > - org.apache.jasper.compiler.CompileException: > /usr3/jakarta-tomcat-3.3/webapps/panportalDev/forms/ieformtest.jsp(41,0) > Unable to find setter method for attribute: class > at org.apache.jasper.compiler.TagBeginGenerator.generateSetters > > There is public void setClass(String s) in the Tag > but, of course, no property called 'class'. > > > Using "class" as an attribute is very natural for page designers so I expect > there is a workaround. Anyone any ideas? > > > -- > Nick Pierpoint > > > -- > To unsubscribe: <mailto:[EMAIL PROTECTED]> > For additional commands: <mailto:[EMAIL PROTECTED]> > Troubles with the list: <mailto:[EMAIL PROTECTED]> > > -- To unsubscribe: <mailto:[EMAIL PROTECTED]> For additional commands: <mailto:[EMAIL PROTECTED]> Troubles with the list: <mailto:[EMAIL PROTECTED]>