I want to be one on early users of Tiles 2. The followings are snippets of my configuration and code: -------- pom.xml --------------- ... <groupId>org.apache.struts.tiles</groupId> <artifactId>tiles-core</artifactId> <version>2.0-SNAPSHOT</version> <scope>runtime</scope> </dependency> ... -------- web.xml --------------- ... <!-- Shale Application Controller Filter --> <filter> <filter-name>shale</filter-name> <filter-class> org.apache.shale.faces.ShaleApplicationFilter </filter-class> </filter>
<!-- Shale Application Controller Filter Mapping --> <filter-mapping> <filter-name>shale</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping> ... <!-- Tiles Servlet Configuration --> <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.tiles.servlets.TilesServlet</servlet-class> <init-param> <param-name>definitions-config</param-name> <param-value>/WEB-INF/tiles-defs.xml</param-value> </init-param> <init-param> <param-name>definitions-parser-validate</param-name> <param-value>true</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> ... ----------------------------------------------------- -------------- tiles-defs.xml ------------------ <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration//EN" "http://struts.apache.org/dtds/tiles-config_1_1.dtd"> <tiles-definitions> <definition name="tiles:master" page="/layouts/master.jsp"> <put name="header" value="/subviews/header.jspf"/> <put name="footer" value="/subviews/footer.jspf"/> </definition> </tiles-definitions> ----------------------------------------------------- -------------- /layouts/master.jsp --------- <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <f:subview id="master"> <f:facet name="header"> <tiles:insert name="header" type="attribute" flush="false"/> </f:facet> <f:facet name="footer"> <tiles:insert name="footer" type="attribute" flush="false"/> </f:facet> </f:subview> ---------------------------------------------------- ---------------- /subviews/header.jspf---- <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %> <f:subview id="header"> <h:outputText> Header </h:outputText> </f:subview> --------------------------------------------------- ---------------- /subviews/footer.jspf---- <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %> <f:subview id="header"> <h:outputText> Footer </h:outputText> </f:subview> --------------------------------------------------- --------------- /views/welcome.jsp ------ <%@ taglib prefix="f" uri="http://java.sun.com/jsf/core" %> <%@ taglib prefix="h" uri="http://java.sun.com/jsf/html" %> <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> <html> <f:view> <tiles:insert name="tiles:master" type="definition" flush="false"/> </f:view> </html> -------------------------------------------------- I use Tomcat 5.x but when I deploy my app I get the following exception: Aug 23, 2006 1:44:25 PM org.apache.tiles.taglib.InsertTag$InsertHandler doEndTag SEVERE: Exception in '/layouts/master.jsp': Exception in JSP: /layouts/master.jsp:6 3: <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> 4: <f:subview id="master"> 5: <f:facet name="header"> 6: <tiles:insert name="header" type="attribute" flush="false"/> 7: </f:facet> 8: <f:facet name="footer"> 9: <tiles:insert name="footer" type="attribute" flush="false"/> Stacktrace: org.apache.jasper.JasperException: Exception in JSP: /layouts/master.jsp:6 3: <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> 4: <f:subview id="master"> 5: <f:facet name="header"> 6: <tiles:insert name="header" type="attribute" flush="false"/> 7: </f:facet> 8: <f:facet name="footer"> 9: <tiles:insert name="footer" type="attribute" flush="false"/> Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) 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:802) 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.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614) at org.apache.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:131) at org.apache.tiles.TilesUtil.doInclude(TilesUtil.java:136) at org.apache.tiles.taglib.InsertTag.doInclude(InsertTag.java:618) at org.apache.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:748) at org.apache.tiles.taglib.InsertTag.doEndTag(InsertTag.java:380) at org.apache.jsp.views.welcome_jsp._jspx_meth_tiles_insert_0(welcome_jsp.java:125) at org.apache.jsp.views.welcome_jsp._jspx_meth_f_view_0(welcome_jsp.java:94) at org.apache.jsp.views.welcome_jsp._jspService(welcome_jsp.java:59) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 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:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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 org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:415) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234) at org.apache.shale.view.faces.ViewViewHandler.renderView(ViewViewHandler.java:150) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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 org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:703) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:670) at org.apache.jsp.index_jsp._jspService(index_jsp.java:43) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 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:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Aug 23, 2006 1:44:33 PM org.apache.tiles.taglib.InsertTag$InsertHandler doEndTag SEVERE: Exception in '/layouts/master.jsp': Exception in JSP: /layouts/master.jsp:6 3: <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> 4: <f:subview id="master"> 5: <f:facet name="header"> 6: <tiles:insert name="header" type="attribute" flush="false"/> 7: </f:facet> 8: <f:facet name="footer"> 9: <tiles:insert name="footer" type="attribute" flush="false"/> Stacktrace: org.apache.jasper.JasperException: Exception in JSP: /layouts/master.jsp:6 3: <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %> 4: <f:subview id="master"> 5: <f:facet name="header"> 6: <tiles:insert name="header" type="attribute" flush="false"/> 7: </f:facet> 8: <f:facet name="footer"> 9: <tiles:insert name="footer" type="attribute" flush="false"/> Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393) 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:802) 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.doInclude(ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:614) at org.apache.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:131) at org.apache.tiles.TilesUtil.doInclude(TilesUtil.java:136) at org.apache.tiles.taglib.InsertTag.doInclude(InsertTag.java:618) at org.apache.tiles.taglib.InsertTag$InsertHandler.doEndTag(InsertTag.java:748) at org.apache.tiles.taglib.InsertTag.doEndTag(InsertTag.java:380) at org.apache.jsp.views.welcome_jsp._jspx_meth_tiles_insert_0(welcome_jsp.java:125) at org.apache.jsp.views.welcome_jsp._jspx_meth_f_view_0(welcome_jsp.java:94) at org.apache.jsp.views.welcome_jsp._jspService(welcome_jsp.java:59) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 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:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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 org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:415) at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:234) at org.apache.shale.view.faces.ViewViewHandler.renderView(ViewViewHandler.java:150) at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:352) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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 org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:703) at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:670) at org.apache.jsp.index_jsp._jspService(index_jsp.java:43) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332) 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:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at org.apache.shale.faces.ShaleApplicationFilter.doFilter(ShaleApplicationFilter.java:271) 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.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.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) ------------------------------------------------------------------ Any error in my configruation or pages? --------------------------------- All-new Yahoo! Mail - Fire up a more powerful email and get things done faster.