You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Eric Everman <ev...@precedadesign.com> on 2003/05/16 19:50:48 UTC

RE: Multiple Page Views (solution)

OK, figured out the problem, I just replaced the first line of the template 
below with:

<span jwcid="@RenderBlock" block="ognl:getComponent(viewOption)" />

Thanks for the help,

Eric Everman


At 5/16/2003, you wrote:
>David-
>
>Thanks, this was exactly what I was looking for.  I can't quite seem to 
>get it to work, however.  I keep getting the rather unexpected error:
>
>org.apache.tapestry.BindingException:
>   Parameter block (NormalView) is not type 
> org.apache.tapestry.components.Block.
>
>(trace below)
>
>========Here is my template=========
><span jwcid="@RenderBlock" block="ognl:viewOption" />
>
><span jwcid="NormalView@Block">
><span jwcid="@HTMLNormalView"
>   headTitle="ognl:page.headTitle"
>   bodyTitle="ognl:page.bodyTitle"
>   caption="ognl:page.caption"
> >
>       <span jwcid="@RenderBody"/>
></span>
></span>
>
><span jwcid="PrintView@Block">
><span jwcid="@HTMLPrintView"
>   headTitle="ognl:page.headTitle"
>   bodyTitle="ognl:page.bodyTitle"
>   caption="ognl:page.caption"
> >
>       <span jwcid="@RenderBody"/>
></span>
></span>
>===============================
>
>The property viewOption returns "NormalView" - any ideas what I could be 
>doing wrong here?  My guess is that RenderBlock is unable to convert the 
>string "NormalView" to a Block...  This is with a5.
>
>Thanks,
>
>Eric Everman
>
>
>====Trace====
>org.apache.tapestry.binding.AbstractBinding.getObject(AbstractBinding.java:267) 
>org.apache.tapestry.param.AbstractParameterConnector.getBindingValue(AbstractParameterConnector.java:155) 
>org.apache.tapestry.param.ObjectParameterConnector.setParameter(ObjectParameterConnector.java:94) 
>org.apache.tapestry.param.ParameterManager.setParameters(ParameterManager.java:146) 
>org.apache.tapestry.AbstractComponent.prepareForRender(AbstractComponent.java:890) 
>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:856) 
>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:158) 
>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:858) 
>org.apache.tapestry.BaseComponent.renderComponent(BaseComponent.java:158) 
>org.apache.tapestry.AbstractComponent.render(AbstractComponent.java:858) 
>org.apache.tapestry.AbstractPage.renderPage(AbstractPage.java:329) 
>org.apache.tapestry.engine.RequestCycle.renderPage(RequestCycle.java:411) 
>org.apache.tapestry.engine.AbstractEngine.renderResponse(AbstractEngine.java:740) 
>org.apache.tapestry.engine.HomeService.service(HomeService.java:109) 
>org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:878) 
>org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:238) 
>org.apache.tapestry.ApplicationServlet.doGet(ApplicationServlet.java:199) 
>javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 
>javax.servlet.http.HttpServlet.service(HttpServlet.java:853) 
>org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) 
>org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) 
>org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>  org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
>org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>  org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
>org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) 
>org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
>org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) 
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>  org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
>org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) 
>org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) 
>org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>  org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) 
>org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) 
>org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594) 
>org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) 
>org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) 
>org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) 
>java.lang.Thread.run(Thread.java:536)
>
>
>At 5/15/2003, you wrote:
>>Yes, one approach is to use Block and RenderBlock components.
>>The multiple views are implemented as custom components (subclass of
>>BaseComponent)
>>
>>For instance:
>>
>><span jwcid="@RenderBlock" block="ognl:block4View"/>
>>
>><span jwcid="blockOne@Block">
>><span jwcid="TemplateOne"/>
>></span>
>>
>><span jwcid="blockTwo@Block">
>><span jwcid="TemplateTwo"/>
>></span>
>>
>><span jwcid="blockThree@Block">
>><span jwcid="TemplateThree"/>
>></span>
>>
>>BTW, RenderBlock and Block are powerful components; however it seems to
>>me they are unknown to many developers.
>>
>>Regards
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org