Hello Matthias:

Thanks for your support. I will update you about my progress as we go along. Further information and the exception printout is below:


Matthias Wessendorf wrote:

<>Hi BaTien, thanks for using MyFaces. My comments are intermixed Yes, it seams that, for now you could not use a tile, that is refered by a tile. Do you got any more info on that?

2.1) <h:commandButton> and <h:commandLink> are identically rendered (by looking at the page source - obviously with different component Ids) under the fragments of the page layout and fragments inserted by tiles. However, a click on <h:commandButton> and <h:commandLink> in the fragment inserted by tiles displays the same page. This means command actionListenner and action are skipped.




Have you tried navigation-rules without <from-view-id/> element:

<navigation-rule>
 <navigation-case>
   <from-outcome>myOutcome</from-outcome>
   <to-view-id>/yetAnotherJSP.jsp</to-view-id>
 </navigation-case>
</navigation-rule>

Since your page is composed via Tiles you may use *global* navigation rulez. Those rules are not
specific to a special viewId (eg. myNavigationSite.jsp)




Yes. I actually use global rule with and without
<from-view-id>*</from-view-id>
Since my <servlet-mapping> is *.jsf so i use /yetAnotherJSP.jsf and myfaces tiles implementation translate into /jetAnotherJSP.tiles



yes, that isn't using faces-config.xml for navigation



This temporary solution goes against the reason why tiles is used in the first place.


3) Using the temporary solution as explained in 2.3, i experiment with dynamically generated portal tabs. The servlet dispatcher consistently throw ClassCastException for the last tab, while the same thing under 2.1 and 2.2 (i.e. jsf action and actionListener are NOT properly picked up) is stable and work properly. The root cause may then be the way how jsf is implemented. I hope this can be quickly patched and let us enjoy the fruit of Jsf + Tiles.



Could you please provide abit more of stracktrace
for this case?




Thanks,
Matthias




The exception is in the enclosed catalina.out

Our custom portal tabs is actually constructed based on myfaces examples with html myfaces dependencies removed. The layout is done at the last common portion for all tabs. The dynamic tabs are constructed with a placeholder of 8 tabs, out of which 4 tabs are actually generated. Exception is happened in the last tab if the page is generated without using tiles layout (i.e. use path rather than extends another tiles). As previously indicated, using tiles layout there is NO exception of the last tab. There is also no exception in the last tab, if i switch to a page that uses tiles layout before hitting the last tab. Also enclosed next is a summary of the exception.

*exception*

javax.servlet.ServletException: org.apache.jasper.JasperException
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:125)
        
net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:88)

*root cause*

javax.faces.FacesException: org.apache.jasper.JasperException
        
net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:414)
        
net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:178)
        
net.sourceforge.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:287)
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
        
net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:88)

*note*
Dec 28, 2004 4:06:14 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-80
Dec 28, 2004 4:06:15 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-443
Dec 28, 2004 4:06:15 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 3973 ms
Dec 28, 2004 4:06:15 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
Dec 28, 2004 4:06:15 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.0.28
Dec 28, 2004 4:06:15 PM org.apache.catalina.core.StandardHost start
INFO: XML validation disabled
Dec 28, 2004 4:06:23 PM org.apache.catalina.core.StandardHost getDeployer
INFO: Create Host deployer for direct deployment ( non-jmx ) 
Dec 28, 2004 4:06:23 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /pluto from URL 
file:/apps/tomcat-5/webapps/pluto
Dec 28, 2004 4:06:24 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /testsuite from URL 
file:/apps/tomcat-5/webapps/testsuite
Dec 28, 2004 4:06:24 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /myfaces-examples from URL 
file:/apps/tomcat-5/webapps/myfaces-examples
2004-12-28 16:06:26,038 [main] INFO  
net.sourceforge.myfaces.config.FacesConfigurator - Reading standard config 
net/sourceforge/myfaces/resource/standard-faces-config.xml
2004-12-28 16:06:27,402 [main] INFO  
net.sourceforge.myfaces.config.FacesConfigurator - Reading config 
jar:file:/apps/tomcat-5/temp/myfaces63973.jar!/META-INF/faces-config.xml
2004-12-28 16:06:27,970 [main] INFO  
net.sourceforge.myfaces.config.FacesConfigurator - Reading config 
/WEB-INF/examples-config.xml
2004-12-28 16:06:29,110 [main] INFO  
net.sourceforge.myfaces.webapp.StartupServletContextListener - ServletContext 
'/apps/tomcat-5/webapps/myfaces-examples/' initialized.
Dec 28, 2004 4:06:29 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /jsf-cardemo from URL 
file:/apps/tomcat-5/webapps/jsf-cardemo
Dec 28, 2004 4:06:32 PM com.sun.faces.config.rules.NavigationRuleRule end
WARNING: [NavigationRuleRule]{faces-config/navigation-rule} 
Merge(/confirmChoices.jsp)
Dec 28, 2004 4:06:32 PM org.apache.catalina.core.StandardHostDeployer install
INFO: Installing web application at context path /struts-shale-mailreader from 
URL file:/apps/tomcat-5/webapps/struts-shale-mailreader
Dec 28, 2004 4:06:36 PM 
org.apache.shale.examples.mailreader.ApplicationListener contextInitialized
INFO: Initializing memory database plug in from '/WEB-INF/database.xml'
Dec 28, 2004 4:06:36 PM org.apache.shale.faces.ShaleApplicationFilter init
INFO: Initializing Shale application filter
Dec 28, 2004 4:06:36 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-80
Dec 28, 2004 4:06:36 PM org.apache.coyote.tomcat5.MapperListener registerEngine
WARNING: Unknown default host: localhost
Dec 28, 2004 4:06:37 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-443
Dec 28, 2004 4:06:37 PM org.apache.coyote.tomcat5.MapperListener registerEngine
WARNING: Unknown default host: localhost
Dec 28, 2004 4:06:37 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 22921 ms
Stripped url: dev2.dbgroups.com
javax.faces.FacesException: org.apache.jasper.JasperException
        at 
net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:414)
        at 
net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:178)
        at 
net.sourceforge.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:287)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:88)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:417)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
Caused by: org.apache.jasper.JasperException
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
        at 
net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:404)
        ... 34 more
org.apache.jasper.JasperException
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
        at 
net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:404)
        at 
net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:178)
        at 
net.sourceforge.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:287)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:88)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:417)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)
java.lang.ClassCastException
        at 
net.sourceforge.myfaces.taglib.core.VerbatimTag.doAfterBody(VerbatimTag.java:76)
        at 
org.apache.jsp.public_.myb2cb2b.welcome_jsp._jspx_meth_f_verbatim_2(welcome_jsp.java:2547)
        at 
org.apache.jsp.public_.myb2cb2b.welcome_jsp._jspx_meth_f_subview_13(welcome_jsp.java:2451)
        at 
org.apache.jsp.public_.myb2cb2b.welcome_jsp._jspx_meth_h_panelGrid_9(welcome_jsp.java:2389)
        at 
org.apache.jsp.public_.myb2cb2b.welcome_jsp._jspx_meth_f_subview_12(welcome_jsp.java:2346)
        at 
org.apache.jsp.public_.myb2cb2b.welcome_jsp._jspService(welcome_jsp.java:548)
        at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
        at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
        at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:704)
        at 
org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:474)
        at 
org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:409)
        at 
org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312)
        at 
net.sourceforge.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:404)
        at 
net.sourceforge.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:178)
        at 
net.sourceforge.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:287)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:110)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
net.sourceforge.myfaces.custom.fileupload.MultipartFilter.doFilter(MultipartFilter.java:88)
        at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:186)
        at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
        at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
        at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:417)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at 
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
        at 
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at 
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
        at 
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at 
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
        at java.lang.Thread.run(Thread.java:534)

Reply via email to