Return-Path: Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 34193 invoked from network); 19 Sep 2000 21:07:33 -0000 Received: from unknown (HELO pst.praja.com) (64.240.239.20) by locus.apache.org with SMTP; 19 Sep 2000 21:07:33 -0000 Received: by PST with Internet Mail Service (5.5.2650.21) id ; Tue, 19 Sep 2000 13:58:41 -0700 Message-ID: <0941E0D29BB1D21184F300105A9CB785C9EA76@PST> From: Arun Katkere To: tomcat-dev@jakarta.apache.org Subject: Spec Q/TagBeginGenerator behavior Date: Tue, 19 Sep 2000 13:57:16 -0700 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2650.21) Content-Type: text/plain; charset="iso-8859-1" X-Spam-Rating: locus.apache.org 1.6.2 0/1000/N 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: (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"; %> 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. 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. 3. Does anyone have a workaround suggestion (other than providing a attr1Str property that calls setAttr1(): difficult to explain to the tag library user)? -arun