I've tried to use the shale-framework-1.0.4.zip file and have hit a problem
that I was wondering if anyone could help me with?

I've developed a very simple 2 page JSF application using Workshop v3.2.1
which just allows you to move from the first to the second pages using a
commandLinks action to trigger a JSF navigation.  This has all the "common"
JARs as per the shale-framework-1.0.4.zip and works fine.  However when I
added in the shale-*-1.0.4.jar's, spring-*1.2.8.jar's and
tiles-core-2.0-468346-SNAPSHOT.jar and make some config file changes to
introduce Tiles behaviour I start to get problems.

To my faces-config.xml I added
   <view-handler>org.apache.shale.tiles.TilesViewHandler</view-handler>

To my web.xml file I added a context parameter pointing to my new tiles.xml
file
        <context-param>
                <param-name>tiles-definitions</param-name>
                <param-value>/WEB-INF/tiles.xml</param-value>
        </context-param>
and added an additional servlet
        <servlet>
                <servlet-name>Tiles Servlet</servlet-name>
                
<servlet-class>org.apache.tiles.servlet.TilesServlet</servlet-class>
                <load-on-startup>1</load-on-startup>
        </servlet>
the existing (faces) servlet had the load-on-startup value changed to 2
(from 1) at this point.

I created a tiles.xml file (within the WEB-INF folder) that just defines a
header, menu, content format for these same 2 pages (with the header being
made up of 3 sub-parts a banner, breadcrumb trail and heading).

   <?xml version="1.0" encoding="UTF-8"?>
   <!DOCTYPE tiles-definitions PUBLIC
       "-//Apache Software Foundation//DTD Tiles Configuration//EN"
       "http://jakarta.apache.org/struts/dtds/tiles-config.dtd";>

   <tiles-definitions>

   <!-- 
   These are the general tile layouts that will be used by every page 
   -->
        <definition name="header" path="/tiles/header.jsp"> 
                <put name="banner" value="/pages/exampleBanner.jsp" />
                <put name="breadcrumb" value="/pages/exampleBreadcrumb.jsp" />
                <put name="headerTitle" value="/pages/exampleHeader.jsp" />
        </definition>
        
        <definition name="menu" path="/tiles/menu.jsp">
                <put name="menuDetail" value="/pages/exampleMenu.jsp" />
        </definition>

   <!-- 
   These are the definitions for each page 
   -->  
        <definition name="page1" path="/tiles/headerMenuContent.jsp">
                <put name="header" value="header"/>
                <put name="menu" value="menu"/>
                <put name="content" value="page1Content"/>
        </definition>
        <definition name="page1Content" path="/tiles/content.jsp" >
                <put name="contentContent" value="/pages/standardPage.jsp" />
        </definition>

        <definition name="page2" path="/tiles/headerMenuContent.jsp">
                <put name="header" value="header"/>
                <put name="menu" value="menu"/>
                <put name="content" value="page2Content"/>
        </definition>
        <definition name="page2Content" path="/tiles/content.jsp" >
                <put name="contentContent" value="/pages/standardPage2.jsp" />
        </definition>

</tiles-definitions>

I also added in the necessary menu, header, content and headerMenuContent
JSPs into the tiles folder (at the same level as the pages folder) and the
example*** JSPs into the pages folder.

The application builds within Workshop OK but when I try and run it (Tomcat
v5.5) I get the following output in the console...

INFO: Initializing TilesServlet
24-Jan-2007 16:05:29 org.apache.tiles.servlet.TilesServlet readFactoryConfig
INFO: CONFIG FILES WERE NOT DEFINED IN WEB.XML, LOOKING FOR
/WEB-INF/tiles.xml
24-Jan-2007 16:05:29 org.apache.tiles.servlet.TilesServlet
initDefinitionsFactory
INFO: initializing definitions factory...
org.apache.tiles.DefinitionsFactoryException: I/O Error reading definitions.
        at
org.apache.tiles.digester.DigesterDefinitionsReader.read(DigesterDefinitionsReader.java:161)
        at
org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(UrlDefinitionsFactory.java:253)
        at
org.apache.tiles.TilesUtilImpl.createDefinitionsFactory(TilesUtilImpl.java:190)
        at 
org.apache.tiles.TilesUtil.createDefinitionsFactory(TilesUtil.java:165)
        at
org.apache.tiles.servlet.TilesServlet.initDefinitionsFactory(TilesServlet.java:234)
        at org.apache.tiles.servlet.TilesServlet.init(TilesServlet.java:174)
        at
org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1091)
        at 
org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:925)
        at
org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3857)
        at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4118)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at org.apache.catalina.core.StandardHost.start(StandardHost.java:718)
        at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012)
        at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442)
        at 
org.apache.catalina.core.StandardService.start(StandardService.java:450)
        at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:683)
        at org.apache.catalina.startup.Catalina.start(Catalina.java:537)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:271)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:409)
24-Jan-2007 16:05:45 org.apache.tiles.servlet.TilesServlet
saveExceptionMessage
WARNING: Caught exception when initializing definitions factory

I assume this is complaining about the format of my tiles.xml file but I
don't know how to correct it.  Sorry to be posting such basic questions but
I am very new to this area.

Regards,
Dave
-- 
View this message in context: 
http://www.nabble.com/Integrating-JSF-and-Shale-Tiles-tf3083236.html#a8567971
Sent from the Shale - User mailing list archive at Nabble.com.

Reply via email to