I went down a similar path on thedailytube.com for sending email forwards. The challenge you are seeing here is with the Environment. The form is checking in setupRender for an existing FormSupport object and complaining because it already exists. The environment that you are trying to render with is the same one you are using to process the form. There are a couple of objects that you will run into problems with (can't remember off the top of my head, and I did it with a much older version). You can try popping/pushing the objects out of the environment while you are running your rendering, but this solution is messy and brittle.
I eventually gave up and just created a separate page with the content and do an HTTP request to grab the rendered content... Good Luck! Josh On Wed, Sep 16, 2009 at 8:35 AM, xfile80303 <l...@grokers.net> wrote: > > Hi Thiago, > > Yes, I'm sorry, you are correct. In my attempt to get a small "working" > example, I stripped out the head tag. > > Here's my corrected template: > > <html > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" > xmlns:p="tapestry:parameter"> > <head> > <title>My Page</title> > </head> > <body> > <form t:id="myform"> > <input value="Do It" t:type="submit"/> > </form> > > <div id="itemblock"> > Hello World! > </div> > </body> > </html> > > But unfortunately I still get the same error. > > org.apache.tapestry5.runtime.ComponentEventException > Render queue error in SetupRender[MyPage:myform]: Form components may not be > placed inside other Form components. > context > eventType > action > location > classpath:com/java/dse/cwp/eos/pages/MyPage.tml, line 8 > 3 xmlns:p="tapestry:parameter"> > 4 <head> > 5 <title>My Page</title> > 6 </head> > 7 <body> > 8 <form t:id="myform"> > 9 <input value="Do It" t:type="submit"/> > 10 </form> > 11 > 12 <div id="itemblock"> > 13 Hello World! > org.apache.tapestry5.runtime.ComponentEventException > Render queue error in SetupRender[MyPage:myform]: Form components may not be > placed inside other Form components. > context > eventType > success > location > classpath:com/java/dse/cwp/eos/pages/MyPage.tml, line 8 > org.apache.tapestry5.internal.services.RenderQueueException > Render queue error in SetupRender[MyPage:myform]: Form components may not be > placed inside other Form components. > activeComponents > MyPage (class com.java.dse.cwp.eos.pages.MyPage) > MyPage:myform (class org.apache.tapestry5.corelib.components.Form) > classpath:com/java/dse/cwp/eos/pages/MyPage.tml, line 8 > location > classpath:com/java/dse/cwp/eos/pages/MyPage.tml, line 8 > org.apache.tapestry5.ioc.internal.util.TapestryException > Form components may not be placed inside other Form components. > location > classpath:com/java/dse/cwp/eos/pages/MyPage.tml, line 8 > Hide uninteresting stack frames Stack trace > org.apache.tapestry5.corelib.components.Form.setupRender(Form.java:236) > org.apache.tapestry5.corelib.components.Form.setupRender(Form.java) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.invokeComponent(ComponentPageElementImpl.java:184) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:941) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:189) > org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74) > org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121) > org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37) > org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748) > org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1732) > org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1714) > org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1700) > org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1681) > org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1662) > org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64) > org.apache.tapestry5.internal.services.PageDocumentGeneratorImpl.render(PageDocumentGeneratorImpl.java:60) > com.java.dse.cwp.eos.pages.MyPage.onSuccessFromMyForm(MyPage.java:17) > > > I started stripping this down because originally I was getting a NPE from > the internals, when I didn't expect to see one: > > > org.apache.tapestry5.corelib.internal.FormSupportImpl.store(FormSupportImpl.java:96) > org.apache.tapestry5.corelib.components.Loop.setup(Loop.java:323) > org.apache.tapestry5.corelib.components.Loop.setupRender(Loop.java) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.invokeComponent(ComponentPageElementImpl.java:184) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.run(ComponentPageElementImpl.java:164) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:933) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$400(ComponentPageElementImpl.java:49) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.callback(ComponentPageElementImpl.java:159) > org.apache.tapestry5.internal.structure.ComponentPageElementImpl$SetupRenderPhase.render(ComponentPageElementImpl.java:189) > org.apache.tapestry5.internal.services.RenderQueueImpl.run(RenderQueueImpl.java:74) > org.apache.tapestry5.internal.services.PageRenderQueueImpl.render(PageRenderQueueImpl.java:121) > org.apache.tapestry5.internal.services.MarkupRendererTerminator.renderMarkup(MarkupRendererTerminator.java:37) > org.apache.tapestry5.services.TapestryModule$27.renderMarkup(TapestryModule.java:1748) > org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1732) > org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1714) > org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryModule.java:1700) > org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryModule.java:1681) > org.apache.tapestry5.services.TapestryModule$22.renderMarkup(TapestryModule.java:1662) > org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64) > org.apache.tapestry5.internal.services.PageDocumentGeneratorImpl.render(PageDocumentGeneratorImpl.java:60) > com.java.dse.cwp.eos.pages.MyPage.onSuccessFromMyForm(MyPage.java:129) > > The part I don't understand is that the page initially renders without > complaint... it is only when it is trying to render the page for the > PageDocumentGenerator that it has these mysterious issues, which makes me > think something's not working correctly with the PageDocumentGenerator > service. > > Cheers, > > Levi > > > Thiago H. de Paula Figueiredo wrote: >> >> Em Tue, 15 Sep 2009 18:56:40 -0300, xfile80303 <l...@grokers.net> >> escreveu: >> >>> Hello all, >> >> Hi! >> >>> <html xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd" >>> xmlns:p="tapestry:parameter"> >>> <form t:id="myform"> >>> <input type="submit" value="Do It" t:type="submit"/> >>> </form> >> >> It may be not related to your problem, but shouldn't your template have a >> head tag? >> >> -- >> Thiago H. de Paula Figueiredo >> Independent Java consultant, developer, and instructor >> http://www.arsmachina.com.br/thiago >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org >> For additional commands, e-mail: users-h...@tapestry.apache.org >> >> >> > > -- > View this message in context: > http://n2.nabble.com/T5-1-PageDocumentGenerator-Broken-tp3652192p3657137.html > Sent from the Tapestry Users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > > -- -- TheDailyTube.com. Sign up and get the best new videos on the internet delivered fresh to your inbox. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org