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]>

Reply via email to