tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Mactaggart" <steve...@bestbets.com.au>
Subject Issue with overloaded method in Custom Tag
Date Wed, 19 Oct 2005 06:20:27 GMT
Hi all,

We have a custom tag that has an overloaded method (getType) that seems to
have started causing us issues.

For many months this has worked fine, but upon re-compiling the library and
deploying it we started getting the following error:

org.apache.jasper.JasperException: jsp.error.beans.property.conversion
        at
org.apache.jasper.runtime.JspRuntimeLibrary.getValueFromPropertyEditorManage
r(JspRuntimeLibrary.java:885)

The funny thing is that it only does it on some machines.  When I run tomcat
locally (win XP) the pages generate/compile and run fine, but on the dev
machine (linux) they fail.

The offending line in the generated JSP's source is the setType line.

    //  waf:selectdata
    au.com.whitesquare.waf.taglib.html.SelectDataTag
_jspx_th_waf_selectdata_2 =
(au.com.whitesquare.waf.taglib.html.SelectDataTag) _jspx_ta
gPool_waf_selectdata_type_nobody.get(au.com.whitesquare.waf.taglib.html.Sele
ctDataTag.class);
    _jspx_th_waf_selectdata_2.setPageContext(_jspx_page_context);
    _jspx_th_waf_selectdata_2.setParent((javax.servlet.jsp.tagext.Tag)
_jspx_th_waf_select_2);

// --------- HERE
 
_jspx_th_waf_selectdata_2.setType((au.com.whitesquare.waf.taglib.html.select
data.SelectData)org.apache.jasper.runtime.JspRuntimeLibrary.
getValueFromPropertyEditorManager(au.com.whitesquare.waf.taglib.html.selectd
ata.SelectData.class, "type", "TIMEZONE"));
// --------- HERE

    int _jspx_eval_waf_selectdata_2 =
_jspx_th_waf_selectdata_2.doStartTag();
    if (_jspx_th_waf_selectdata_2.doEndTag() ==
javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
      return true;
 
_jspx_tagPool_waf_selectdata_type_nobody.reuse(_jspx_th_waf_selectdata_2);
    return false;

The setType method has 2 incarnations setType(SelectData) and
setType(String).  The jsp code for this tag is using the type="TIMEZONE"
version which should just pass the string "TIMEZONE" in, but is doing some
sort of property lookup.

On my machine the generated code is:

    //  waf:selectdata
    au.com.whitesquare.waf.taglib.html.SelectDataTag
_jspx_th_waf_selectdata_2 =
(au.com.whitesquare.waf.taglib.html.SelectDataTag)
_jspx_tagPool_waf_selectdata_type_nobody.get(au.com.whitesquare.waf.taglib.h
tml.SelectDataTag.class);
    _jspx_th_waf_selectdata_2.setPageContext(_jspx_page_context);
    _jspx_th_waf_selectdata_2.setParent((javax.servlet.jsp.tagext.Tag)
_jspx_th_waf_select_2);

// --------- HERE
    _jspx_th_waf_selectdata_2.setType("TIMEZONE");
// --------- HERE

    int _jspx_eval_waf_selectdata_2 =
_jspx_th_waf_selectdata_2.doStartTag();
    if (_jspx_th_waf_selectdata_2.doEndTag() ==
javax.servlet.jsp.tagext.Tag.SKIP_PAGE)
      return true;
 
_jspx_tagPool_waf_selectdata_type_nobody.reuse(_jspx_th_waf_selectdata_2);
    return false;

This happens on both 5.0.28 and 5.0.30..

Can anyone let me know why 2 installations, with basically the same
configuration are generating different JSP content?

I really want to be able to user overloaded functions in the tags, and as I
said earlier it worked fine in all locations up till just recently.

--------------------------------
Steve Mactaggart
Systems Architect
Best Bets
12 Strathalbyn St
Kew East 3102
Victoria, Australia

PH:   (03) 9859 5800
FAX:  (03) 9859 5655
WEB:  http://www.bestbets.com.au
MAIL: stevemac@bestbets.com.au 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message