Menu

HELP, Please -- Question on Table Decorator

savoym
2007-12-12
2012-10-09
  • savoym

    savoym - 2007-12-12

    I am trying to insert another line in my display:table row. I have read on other posts here that I can do that by overriding the finishRow() method in the TableDecorator class.

    I copied the TableDecorator class in the Java Resources: src directory of my web project and placed it under the same package name as that which is in the displaytag 1.1.1.jar file.

    I modified the finishRow() method as follows:

    public String finishRow()
    {
    RequisitionSearchResults reqSearch = (RequisitionSearchResults)this.currentRowObject;
    if (reqSearch.getItemDescr() == null) {
    return null;
    }else {
    return "<tr><td></td><td colspan='11'>" + reqSearch.getItemDescr() + "</td></tr>";
    }
    }

    My problem is that when I put a BREAK while debugging in the finishRow() method of my new TableDecorator class I am never getting to the line where the BREAK is. My question is what did I do wrong? When I bring up this page should the page not hit the TableDecorator class where my break is?

    PLEASE, ANY HELP would be greatly appreciated. I've been trying to get displayTag to work since last week and this is the last piece to be able to use this in our project.

    Ed Webb, if you're reading this, your response would be greatly appreciated as I've been trying to follow your instructions on making this work.

    Regards.

     
    • Ed Webb

      Ed Webb - 2007-12-12

      I copied the TableDecorator class in the Java Resources: src directory of my web project and placed it under the same package name as that which is in the displaytag 1.1.1.jar file.

      Why did you do that? You need to subclass the abstract class TableDecorator. You need to create a new class:

      package my.package;

      import org.displaytag.decorator.TableDecorator;

      public class MyDecorator extends TableDecorator {

      ... put your finishRow() method here ...

      }

      and then in the <display:table> tag:

      <display:table ... decorator="my.package.MyDecorator">

      Which should sort you out.

      Ed!

       
      • savoym

        savoym - 2007-12-12

        Yup. As I stated in my last post, I screwed up in a major way. Not watching what I was doing

        I sure appreciate your time in responding.

        I finally got it working.

        This is a great product. I love it!!

         
    • savoym

      savoym - 2007-12-12

      Ok.

      I forgot to include this: decorator="org.displaytag.decorator.TableDecorator" in my display:table tag. However when I added it I got the following error:

      Error: org.displaytag.exception.DecoratorInstantiationException
      Unable to load org.displaytag.decorator.TableDecorator due to a java.lang.InstantiationException exception

      What did I do wrong and how do I fix this?

      ANY HELP would be appreciated.

      Regards.

       
    • savoym

      savoym - 2007-12-12

      Here is the stack trace to help for:

      Error: org.displaytag.exception.DecoratorInstantiationException
      Unable to load org.displaytag.decorator.TableDecorator due to a java.lang.InstantiationException exception

      Stack trace : Exception: [.DefaultDecoratorFactory] Unable to load org.displaytag.decorator.TableDecorator due to a java.lang.InstantiationException exception Cause: null
      at org.displaytag.decorator.DefaultDecoratorFactory.loadTableDecorator(DefaultDecoratorFactory.java:74)
      at org.displaytag.tags.TableTag.doEndTag(TableTag.java:1176)
      at org.apache.jsp.reqs.searchResults_jsp._jspx_meth_display_table_0(searchResults_jsp.java:365)
      at org.apache.jsp.reqs.searchResults_jsp._jspx_meth_stripes_layout$1component_2(searchResults_jsp.java:263)
      at org.apache.jsp.reqs.searchResults_jsp._jspx_meth_stripes_layout$1render_0(searchResults_jsp.java:143)
      at org.apache.jsp.reqs.searchResults_jsp._jspService(searchResults_jsp.java:77)
      at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
      at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
      at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:463)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:398)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
      at net.sourceforge.stripes.action.ForwardResolution.execute(ForwardResolution.java:104)
      at net.sourceforge.stripes.controller.DispatcherHelper$7.intercept(DispatcherHelper.java:484)
      at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:157)
      at net.sourceforge.stripes.controller.BeforeAfterMethodInterceptor.intercept(BeforeAfterMethodInterceptor.java:107)
      at net.sourceforge.stripes.controller.ExecutionContext.proceed(ExecutionContext.java:154)
      at net.sourceforge.stripes.controller.ExecutionContext.wrap(ExecutionContext.java:73)
      at net.sourceforge.stripes.controller.DispatcherHelper.executeResolution(DispatcherHelper.java:478)
      at net.sourceforge.stripes.controller.DispatcherServlet.executeResolution(DispatcherServlet.java:249)
      at net.sourceforge.stripes.controller.DispatcherServlet.doPost(DispatcherServlet.java:166)
      at net.sourceforge.stripes.controller.DispatcherServlet.doGet(DispatcherServlet.java:61)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:697)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:180)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
      at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
      at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      at org.acegisecurity.ui.ntlm.HttpFilter.doFilter(HttpFilter.java:46)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:245)
      at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
      at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
      at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
      at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
      at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
      at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
      at java.lang.Thread.run(Thread.java:619)
      Caused by: java.lang.InstantiationException
      at sun.reflect.InstantiationExceptionConstructorAccessorImpl.newInstance(InstantiationExceptionConstructorAccessorImpl.java:30)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at java.lang.Class.newInstance0(Class.java:355)
      at java.lang.Class.newInstance(Class.java:308)
      at org.displaytag.decorator.DefaultDecoratorFactory.loadTableDecorator(DefaultDecoratorFactory.java:66)
      ... 64 more

       
    • savoym

      savoym - 2007-12-12

      Sorry, I screwed up trying to instantiate this abstract class. My apologies.

      I just subclassed TableDecorator with my own dummy class from my own package.

      Please disregard my previous posts.

      Thanks anyway. Regards.

       

Log in to post a comment.

MongoDB Logo MongoDB