Dave, you are absolutely right. Once I put the s2tiles plugin, everything works. Thanks a bunch. I owe you big time. :)
On Mon, Nov 22, 2010 at 1:39 PM, Dave Newton <davelnew...@gmail.com> wrote: > Doesn't look like you have the S2 Tiles plugin anywhere. > > http://struts.apache.org/2.x/docs/tiles-plugin.html > > <http://struts.apache.org/2.x/docs/tiles-plugin.html>Without it there is > no > way for S2 to know what a tiles result actually *means*. Once S2 knows what > Tiles even is, you still need to set up a default result type, or define > results as being "tiles" results. > > Dave > > On Mon, Nov 22, 2010 at 11:50 AM, John Dondapati <djohnji...@gmail.com > >wrote: > > > Hi, > > > > I am very new to Struts 2 and really want to use it in a project at work. > > We have Struts 2, Spring 2.5.6 working peacefully together and I wanted > to > > add Tiles 2.2 on to the stack to experiment with it. > > > > I have added all the dependencies in the maven and they are all > available. > > I am following the instructions on the Apache Tiles website and created a > > Listener and everything. But somehow the result type is not recognized by > > Struts 2. I tried posting it on the Tiles user list and they advised me > to > > try here. > > > > Did anyone have a similar problem? How did you get around it? Also, it > was > > suggested that Tiles 2.2 does not work with Struts 2. Is that true? > Should I > > use Tiles 2.0.7 instead? > > > > > > Here's my configuration : > > > > *Environment* : > > > > Tomcat 6.0.29 > > Java(TM) SE Runtime Environment (build 1.6.0_22-b04-307-10M3261) > > > > > > > > *My web.xml **:* > > * > > * > > <filter> > > <filter-name>struts2</filter-name> > > > > > <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> > > </filter> > > > > <filter-mapping> > > <filter-name>struts2</filter-name> > > <url-pattern>/*</url-pattern> > > </filter-mapping> > > > > <listener> > > > > > > <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> > > </listener> > > * > > * > > * <listener>* > > * <listener-class>com.blablabla.MyTilesListener</listener-class>* > > * </listener>* > > > > > > *Here's my /WEB-INF/tiles.xml* > > * > > * > > * <definition name="doc.mainLayout" > > template="/tiles/layout/classicLayout.jsp">* > > * <put-attribute name="title" value="Electronic Submission of > > Medical Documentation (esMD)" />* > > * <put-attribute name="header" > value="/tiles/layout/tiles-header.jsp" > > />* > > * <put-attribute name="body" value="/tiles/layout/tiles-body.jsp" > > />* > > * <put-attribute name="footer" > value="/tiles/layout/tiles-footer.jsp" > > />* > > * </definition>* > > * * > > * <definition name="LoginPage" extends="doc.mainLayout">* > > * <put-attribute name="body" value="/tiles/LoginBody.jsp"/>* > > * </definition>* > > * > > * > > *My struts.xml* > > * > > * > > * > > <package name="default" namespace="/" extends="struts-default"> <!-- > > "tiles-default" package cannot be found in tiles 2.2 so I changed it --> > > <action name="Login"> > > * > > * > > <result>LoginPage</result> > > </action> > > </package> > > > > * > > > > *MyTilesListener* > > > > public class MyTilesListener extends AbstractTilesListener { > > > > protected TilesInitializer createTilesInitializer() { > > return new MyCustomTilesInitializer(); > > } > > } > > > > *MyCustomTilesInitializer* > > > > public class MyCustomTilesInitializer extends BasicTilesInitializer { > > > > /** {...@inheritdoc} */ > > @Override > > protected AbstractTilesContainerFactory createContainerFactory( > > TilesApplicationContext context) { > > return new MyTilesContainerFactory(); > > } > > } > > > > *MyTilesContainerFactory* > > > > public class MyTilesContainerFactory extends BasicTilesContainerFactory{ > > @Override > > protected List<URL> getSourceURLs(TilesApplicationContext > > tilesApplicationContext, > > TilesRequestContextFactory tilesRequestContextFactory) { > > > > List<URL> urls = null; > > > > try { > > urls = new ArrayList<URL>(); > > > > urls.add(tilesApplicationContext.getResource("/WEB-INF/tiles.xml")); > > } catch(Exception exception) { > > > > } > > > > return urls; > > } > > > > } > > > > *This is the error we get: * > > * > > * > > * > > HTTP Status 404 - /LoginPage > > ------------------------------ > > > > type Status report > > > > message /LoginPage > > > > description The requested resource (/LoginPage) is not available. > > ------------------------------ > > Apache Tomcat/6.0.29 > > * > > > > *ServerLog * : > > > > 388 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO > > org.apache.tiles.context.AbstractTilesApplicationContextFactory - > > Initializing Tiles2 application context. . . > > 392 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] WARN > > org.apache.tiles.context.ChainedTilesApplicationContextFactory - Cannot > find > > TilesContextFactory class > > org.apache.tiles.portlet.context.PortletTilesApplicationContextFactory > > 392 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO > > org.apache.tiles.context.AbstractTilesApplicationContextFactory - > Finished > > initializing Tiles2 application context. > > 392 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] WARN > > org.apache.tiles.context.ChainedTilesApplicationContextFactory - Cannot > find > > TilesContextFactory class > > org.apache.tiles.portlet.context.PortletTilesApplicationContextFactory > > 449 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] INFO > > org.apache.tiles.access.TilesAccess - Publishing TilesContext for > context: > > org.apache.tiles.servlet.context.ServletTilesApplicationContext > > > > > > Can someone give me a direction to fix this please. Thanks! > > > > > > -- > > Cheers, > > John > > > > P.S: I also attached my pom.xml dependencies to give you a complete > > picture. > > > > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > > For additional commands, e-mail: user-h...@struts.apache.org > > > -- Cheers, John