Announcement Announcement Module
Collapse
No announcement yet.
Spring 3.0 and Tiles 2.1.2 Nested Definitions Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spring 3.0 and Tiles 2.1.2 Nested Definitions

    Hi,

    I have setup Spring and tiles to work together making ajax calls. I have this working apart from in the following instance -
    • I have 2 tiles definitions; one nested within another (parent and child).
    • On a jsp page I use the parent tile, which has the child nested within it.

    This works fine when I load the page. However if I have a button on the JSP, that, when clicked makes an AJAX request to load the parent (and nested child) tile I get an error along the lines of -

    Code:
    org.apache.tiles.jsp.taglib.NoSuchAttributeException: Attribute 'child' not found.
    	at org.apache.tiles.jsp.taglib.InsertAttributeTag.computeAttribute(InsertAttributeTag.java:253)
    	at org.apache.tiles.jsp.taglib.InsertAttributeTag.startContext(InsertAttributeTag.java:221)
    	at org.apache.tiles.jsp.taglib.RenderTag.doStartTag(RenderTag.java:210)
    	at org.apache.tiles.jsp.taglib.InsertAttributeTag.doStartTag(InsertAttributeTag.java:199)
    	at org.apache.jsp.WEB_002dINF.view.case_.my_005fcases_jsp._jspx_meth_tiles_005finsertAttribute_005f0(my_005fcases_jsp.java:295)
    	at org.apache.jsp.WEB_002dINF.view.case_.my_005fcases_jsp._jspService(my_005fcases_jsp.java:90)
    	at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
    	at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
    	at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
    	at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:239)
    	at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
    	at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1060)
    	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:798)
    	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
    	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
    	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    	at java.lang.Thread.run(Thread.java:595)
    However the page still loads. Any ideas why this error is thrown only when making an AJAX call and not on page load?

    Is it possible to nest tiles and then make an AJAX call on the parent that will also load the child?

    MIA

  • #2
    Could this be a bug that has regressed?

    doing some more digging I can see this bug in particular which is down as fixed. Could this have regressed?

    https://jira.springsource.org/browse/SWF-916

    Comment


    • #3
      Found a solution

      Don't ask me why it is, but in your jsp for the child tile if you set the defaultValue="" it doesn't throw the error.

      Code:
      <tiles:insertAttribute name="test" defaultValue="" />
      Go figure...

      wr1472

      Comment


      • #4
        I have same problem.
        In one of parent the tiles elements I put some tiles-attribute. In child fragment I use then. All was ok till i began to use AJAX "?fragments=someattributename". Now this fragments has no access to attribute, defined in parent tile, as fas as i call for output only this fragment.
        So, actually a have same problem and arror message as a topick starter.
        Is there some enhance in AjaxTilesView from that time for solving this problem?

        Comment

        Working...
        X