Mantis - Resin
Viewing Issue Advanced Details
3066 minor always 11-11-08 12:52 03-31-09 14:47
ferg  
ferg  
urgent  
closed  
fixed  
none    
none 4.0.0  
0003066: displaytag
(rep by Mike McNally)

I'm trying to get a pretty simple Stripes-based web application running in a fresh install of Resin 3.1.6. The application works *except* for a page that attempts to use the "displaytag" tag library (which I've not used before).

It seems that Resin is unable/unwilling to recognize any of the setters in the displaytag tag implementation classes, in all cases failing with:

attribute 'id' in tag 'display:table' has no corresponding set method in

tag class 'org.displaytag.tags.TableTag'
It doesn't matter what attribute I use or what sort of value I pass to it from the .jsp page. Resin 3.0.x and 3.1.6 all do pretty much the same thing. Looking at the displaytag sources and the Resin source, I can't see where it's getting hung up. There are in fact public setter methods in the displaytag code, and they seem OK to me.

I'm pretty sure I've seen implications from random forum questions that there are people using displaytag with Resin, so I suspect there's something I'm just not doing right.

Appears to be a linking problem. When missing jars, Resin reports the attribute isn't found, when the actual problem may be linking.

Notes
(0003934)
ferg   
03-26-09 15:34   
We are using display tag component
http://displaytag.sourceforge.net/1.2/ [^]

 

We are making a basic call to display a grid of values:

 

supplierQuotes is a list of pojo object with quoteId attribute and quoteName

 

Jsp code:
   <display:table id="row" name="supplierQuotes" requestURI="/pulse/customer.do" sort="list"

                   decorator>

      <%System.out.println("pageContext.getAttribute(\"row\") "+pageContext.getAttribute("row") );%>

            <display:column title="QUOTE#" >

      

#<c:out value="${row.quoteId}"/>

        </display:column>

   </display: table>

 

The aim is put element from list supplierQuotes in pageContext in row attribute.

 

This is working with Resin 2.x resin 3.1.x (7 and 8) tomcat also but not with resin 3.2.1

 

Java code from java class build from the jsp with 3.2.1

final org.displaytag.tags.TableTag get_jsp_TableTag_3(PageContext pageContext, javax.servlet.jsp.tagext.JspTag _jsp_parent_tag) throws Throwable

    {

      if (_jsp_TableTag_3 == null) {

        _jsp_TableTag_3 = new org.displaytag.tags.TableTag();

        _jsp_TableTag_3.setPageContext(pageContext);

        _jsp_TableTag_3.setParent((javax.servlet.jsp.tagext.Tag) _jsp_AjaxDisplayTag_2);

        _jsp_TableTag_3.setId("row");

        _jsp_TableTag_3.setName("supplierQuotes");

        _jsp_TableTag_3.setRequestURI("/pulse/customer.do");

        _jsp_TableTag_3.setSort("list");

        _jsp_TableTag_3.setDecorator("com.mfg.pulse.web.view.renderer.table.customersupport.SupplierQuotesTableWrapper");

      }

 

      return _jsp_TableTag_3;

    }

 

Same with 3.1.8

if (_jsp_TableTag_3 == null) {

              _jsp_TableTag_3 = new org.displaytag.tags.TableTag();

              _jsp_TableTag_3.setPageContext(pageContext);

              _jsp_TableTag_3.setParent((javax.servlet.jsp.tagext.Tag) _jsp_AjaxDisplayTag_2);

              _jsp_TableTag_3.setUid("row");

              _jsp_TableTag_3.setName("supplierQuotes");

              _jsp_TableTag_3.setRequestURI("/pulse/customer.do");

              _jsp_TableTag_3.setSort("list");

              _jsp_TableTag_3.setDecorator("com.mfg.pulse.web.view.renderer.table.customersupport.SupplierQuotesTableWrapper");

            }

Something replace automatically ID by UID
(0003947)
ferg   
03-31-09 14:47   
jsp/18o2