tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Pierre Delisle <pierre.deli...@sun.com>
Subject Re: Spec Q/TagBeginGenerator behavior
Date Tue, 19 Sep 2000 21:52:01 GMT

Arun Katkere wrote:
> 
> TagBeginGenerator does compile time conversion from String to the type of
> the property as specified in the spec. table 2-4 (section 2.13.2) and more
> (looking at the code). But, it doesn't work for property of type
> java.lang.Object. So, if I have a tag (say foo) with a property of type
> object (say attr1), the following doesn't work:
> 
> <a:foo attr1="bar"/>
> 
> (fails compilation with "Unable to convert a String to java.lang.Object for
> attribute attr1").
> 
> If we change it to the following uglyness, it works:
> 
> <% String bar = "bar"; %>
> <a:foo attr1="<%=bar%>"/>
> 
> Questions:
> 
> 1. Is String to java.lang.Object implicit conversion a spec. oversight or is
> there a good reason for not supporting it. Since java.lang.String is
> java.lang.Object, it seems strange to say, "Unable to convert String to
> java.lang.Object" when String *is* an Object.

Your point is well taken. I've forwarded your email to the JSP spec lead to
get his official comments on this.

> 2. Regardless of how the spec. feels about it, can Jasper support this as a
> non-normative feature? As far as I can see, it is just one (half) a line in
> TagBeginGenerator, change "if (c == String.class)" to "if (c == String.class
> || c == Object.class)" in convertString method.

Jasper is the reference implementation for the JSP spec. Can't have non-normative
features :-(.

> 3. Does anyone have a workaround suggestion (other than providing a attr1Str
> property that calls setAttr1(): difficult to explain to the tag library
> user)?

Can't attr1 become attr1Obj, and have attr1 be the string?

    -- Pierre

Mime
View raw message