Hi

I don't think think MyFaces 1.2 is compatible with that Tiles version - Ask
on the MyFaces list.

Hermod

-----Opprinnelig melding-----
Fra: Edward Dowgiallo [mailto:[EMAIL PROTECTED] 
Sendt: 28. august 2007 21:31
Til: user@shale.apache.org
Emne: Fwd: Tiles integration

---------- Forwarded message ----------
From: Edward Dowgiallo <[EMAIL PROTECTED]>
Date: Aug 28, 2007 3:20 PM
Subject: Tiles integration
To: [EMAIL PROTECTED]

I'm trying to get the following combination running:

   - MyFaces 1.2.0
   - Shale Tiles 1.0.4
   - Trinidad 1.2.1

Willing to try other combinations, especially if someone has a
blank.warhandy.  Been at this for about 7 hours now.

Getting the following exception:

java.lang.IllegalStateException: Cannot create a session after the response
has been committed
        
org.apache.catalina.connector.Request.doGetSession(Request.java:2301)

        org.apache.catalina.connector.Request.getSession(Request.java:2075)
        
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:83
3)
        
org.apache.myfaces.context.servlet.ServletExternalContextImpl.getSession
(ServletExternalContextImpl.java:117)
        
org.apache.myfaces.trinidad.context.ExternalContextDecorator.getSession(Exte
rnalContextDecorator.java:92)
        
org.apache.myfaces.trinidad.context.ExternalContextDecorator.getSession
(ExternalContextDecorator.java:92)
        
org.apache.myfaces.trinidadinternal.util.TokenCache.getTokenCacheFromSession
(TokenCache.java:72)
        
org.apache.myfaces.trinidadinternal.application.StateManagerImpl._getViewCac
he(StateManagerImpl.java
:548)
        
org.apache.myfaces.trinidadinternal.application.StateManagerImpl.saveSeriali
zedView(StateManagerImpl.java:265)
        javax.faces.application.StateManager.saveView(StateManager.java:47)
        
org.apache.myfaces.application.jsp.JspViewHandlerImpl$StateMarkerAwareWriter
.flushToWriter
(JspViewHandlerImpl.java:387)
        
org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHand
lerImpl.java:322)
        
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.jav
a:45)
        
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView
(ViewHandlerImpl.java:174)
        
org.apache.shale.tiles.TilesViewHandler.renderView(TilesViewHandler.java:176
)
        
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.jav
a:45)
        
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView
(ViewHandlerImpl.java:174)
        
org.apache.shale.tiles.TilesViewHandler.renderView(TilesViewHandler.java:176
)
        
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseEx
ecutor.java:41)
        org.apache.myfaces.lifecycle.LifecycleImpl.render
(LifecycleImpl.java:132)
        javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)

tiles-defs.xml

<tiles-definitions>

        <!--
=================================================================== -->

        <!-- Master definition
-->
        <!--
=================================================================== -->

        <!-- Doc index page description  -->

        <definition     name="test"     template="/page/layout.jsp">
                <put-attribute  name="header"   value="/tile/header.jsp"/>
                <put-attribute  name="footer"   value="/tile/footer.jsp"/>

        </definition>

</tiles-definitions>

faces-config.xml

<faces-config
                xmlns="http://java.sun.com/xml/ns/javaee
"
                xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd";
                version="1.2">

        <application>
                <!-- Tiles Integration -->

        
<view-handler>org.apache.shale.tiles.TilesViewHandler</view-handler>
        </application>

</faces-config>

web.xml

<web-app        xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";
                        xmlns="http://java.sun.com/xml/ns/javaee";
                        xmlns:web="
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
        
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
 http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd";
                        id="WebApp_ID"
                        version="2.5">
        <display-name>tiles</display-name>


        <welcome-file-list>
                <welcome-file>index.html</welcome-file>
                <welcome-file>index.htm</welcome-file>
                <welcome-file>index.jsp</welcome-file>
                <welcome-file>
default.html</welcome-file>
                <welcome-file>default.htm</welcome-file>
                <welcome-file>default.jsp</welcome-file>
        </welcome-file-list>

    <context-param>
        <param-name>
javax.faces.STATE_SAVING_METHOD</param-name>
        <param-value>client</param-value>
        <description>
            State saving method: "client" or "server" (= default)

            See JSF Specification 2.5.2
        </description>
    </context-param>

        <!-- Tiles -->
        <context-param>
                <param-name>definitions-config</param-name>

                <param-value>/WEB-INF/tiles-defs.xml</param-value>
        </context-param>

    <!--context-param>
        <param-name>org.apache.tiles.CONTEXT_FACTORY</param-name>
        <param-value>
org.apache.tiles.context.enhanced.EnhancedContextFactory</param-value>
    </context-param>

    <context-param>
        <param-name>org.apache.tiles.CONTAINER_FACTORY.mutable</param-name>

        <param-value>true</param-value>
    </context-param-->

        <listener>
        
<listener-class>org.apache.tiles.listener.TilesListener</listener-class>
        </listener>


        <servlet>
                <servlet-name>Faces Servlet</servlet-name>
        
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
                <load-on-startup>1</load-on-startup>

        </servlet>

        <servlet-mapping>
                <servlet-name>Faces Servlet</servlet-name>
                <url-pattern>*.tiles</url-pattern>
        </servlet-mapping>

</web-app>

layout.jsp

<html>
        <head><title>Tiles Quickstart</title><head>
        <body>
                <tiles:insertAttribute  name="header"/>

                <div id="body">
                        Tiles 101 body content.
                </div>

                <tiles:insertAttribute  name="footer"/>
        </body>
</html>

Reply via email to