A couple of intermixed comments ... I'm hoping Greg and others more familiar
with Tiles than I am might be able to help too.

On 1/24/07, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:


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.


It might be a little easier to debug things like this if you only add one
layer of stuff at a time :-).

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


You do not need to do this ... it is already done inside the
shale-tiles-xxx.jar file.

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.TilesServletreadFactoryConfig
INFO: CONFIG FILES WERE NOT DEFINED IN WEB.XML, LOOKING FOR
/WEB-INF/tiles.xml


This message implies that your context init parameter is not being
recognized.  If I am reading the Tiles code correctly, the parameter name
should now be "org.apache.tiles.DEFINITIONS_CONFIG" although
"definitions-config"  is still recognized for backwards compatibility.


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


The fact that this says I/O error instead of parsing error implies that the
problem is not finding the file at all (rather than some problem with the
XML syntax).

Craig

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