Hi All,
I have created a small application to get familiar with the Struts 2 and
Tiles 2 integration.
I am using *struts2-tiles-plugin-2.0.5.jar* , *
tiles-api-2.0-20070130.184344-3.jar* and *
tiles-core-2.0-20070130.184344-3.jar* for the integration. (but the struts
core jar I am using is *struts2-core-2.0.1.jar *)
The dtd i used is http://jakarta.apache.org/struts/dtds/tiles-config_2_0.dtd
I have configured some actions and jsps to use Struts2 APIs and struts/tiles
tags
I am using Tomcat 5 as a web server.
When I start the tomcat, the application loads properly and no error is
thrown while bootstrap.
I even can load my first page which is a simple login page. But when I enter
something and login, I get following exception about the *tiles definition*
*<Exception>*
*Messages*: I/O Error reading definitions. *File*:
org/apache/tiles/definition/digester/DigesterDefinitionsReader.java *Line
number*: 164
Stacktraces
org.apache.tiles.definition.DefinitionsFactoryException: I/O Error reading
definitions.
org.apache.tiles.definition.digester.DigesterDefinitionsReader.read(
DigesterDefinitionsReader.java:164)
org.apache.tiles.definition.UrlDefinitionsFactory.readDefinitions(
UrlDefinitionsFactory.java:257)
org.apache.tiles.definition.UrlDefinitionsFactory.getComponentDefinitions(
UrlDefinitionsFactory.java:116)
org.apache.tiles.definition.UrlDefinitionsFactory.getDefinition(
UrlDefinitionsFactory.java:136)
org.apache.tiles.impl.BasicTilesContainer.getDefinition (
BasicTilesContainer.java:434)
org.apache.tiles.impl.BasicTilesContainer.render(
BasicTilesContainer.java:333)
org.apache.tiles.impl.BasicTilesContainer.render(
BasicTilesContainer.java:315)
org.apache.struts2.views.tiles.TilesResult.doExecute (TilesResult.java
:104)
org.apache.struts2.dispatcher.StrutsResultSupport.execute(
StrutsResultSupport.java:175)
*</Exception>*
The snippet of my tiles-def file is
*<snip>*
<tiles-definitions>
<definition name="blank" template="/pages/blank.jsp"/> *<!-- Formerly i
tried using "path" attribute also -->*
<definition name=" earray.masterContent"
template="/pages/MasterWindow.jsp">
<put name="titlebar" value="/pages/title.jsp"/>
<put name="header" value="/pages/header.jsp"/>
<put name="menubar" value="biochipMenu"/>
<put name="upperbody" value="blank"/>
<put name="divider" value="blank"/>
<put name="lowerbody" value="blank"/>
<put name="footer" value="blank"/>
</definition>
<definition name="earray.homepage" extends="earray.masterContent">
<put name="upperbody" value="/pages/homePage.jsp"/>
</definition>
</tiles-definitions>
*</snip>*
And the snipped from my struts.xml is.
*<snip>*
<struts>
<package name="" namespace="/" extends="struts-default">
<result-types>
<result-type name="tiles" class="
org.apache.struts2.views.tiles.TilesResult"/>
</result-types>
<action name="Login" class="sample.Login">
<result type="redirect">topMenu.action</result>
</action>
<action name="landingPage" class=" sample.Login" method="show">
<result>/pages/login.jsp</result>
</action>
<action name="topMenu" class="sample.topmostMenu" >
<result type="tiles">earray.homepage</result>
</action>
</package >
</struts>
*</snip>*
I even configured the *org.apache.struts2.tiles.StrutsTilesListener* in the
web.xml
Can anybody help me out?
One more thing I want to know is which tiles taglib should i use? First i
used the one which I used for struts 1-tiles 1 integration. Then I tried
without specifying any tld configuration in web.xml at all. (becoz in the
examples i searched, i didnt find anyone specifying it.)
Thanks an Regards,
Abhijeet.