Hi, I have been developing a web application using struts, which has number of modules in it. Also I am using tiles in it for views. So I am configuring different struts-config.xml for each module. And I think there is nothing wrong with that. And I want to use different tiles-defs for each module. There the problem exists. I want my pages to travel from one module to another module using the information in two tiles-defs.xml's. And I am not able to do that.... My struts-config.xml of two modules is ok, but the problem is with tiles-defs.xml. It is giving the Exception like this.....
java.lang.IllegalArgumentException: Path page.master.companyMaster does not start with a "/" character org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1062) org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:274) org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:320) org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) javax.servlet.http.HttpServlet.service(HttpServlet.java:689) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) I am pasting the required information of my files My files were placed in the following way Webroot ----- pages ------masters -------CompanyMaster.jsp -------CompanyMasterInfo.jsp ----- WEB-INF ------- lib ------- struts-config.xml ------- struts-config-masters.xml ------- tiles-defs.xml ------- tiles-defs-masters.xml This is my web.xml <servlet> <servlet-name>action</servlet-name> <servlet-class>org.apache.struts.action.ActionServlet</servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml, /WEB-INF/struts-config-Masters.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>config/Masters</param-name> <param-value>/WEB-INF/struts-config-Masters.xml</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> this is my struts-config.xml with tiles information in it , which is used for default <struts-config> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" bufferSize="4096" debug="0" /> <message-resources parameter="com.lynx.struts.ApplicationResources" /> <plug-in className="org.apache.struts.tiles.TilesPlugin"> <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml, /WEB-INF/tiles-defs-masters.xml" /> <set-property property="moduleAware" value="true" /> <set-property property="definitions-parser-validate" value="true" /> </plug-in> </struts-config> this is my tiles-defs.xml used as default <tiles-definitions> <!-- Base Tiles Definition --> <definition name="base.definition" path="/pages/SiteLayout.jsp"> <put name="header" value="/pages/header.jsp" /> <put name="masterMenu" value="/masterMenu.do" /> <put name="masterMenuItems" value="/masterMenuItems.do" /> <put name="footer" value="/pages/footer.jsp" /> </definition> ....... </tiles-definitions> this is my struts-config-masters.xml for masters module <struts-config> <action-mappings > <action path="/switch" type="org.apache.struts.actions.SwitchAction" /> <action path="/companyMaster" scope="request" type="com.lynx.struts.masters.action.CompanyMasterAction" validate="false"> <forward name="showCompanyMaster" path="page.master.companyMaster" /> </action> </action-mappings> <controller processorClass="org.apache.struts.tiles.TilesRequestProcessor" bufferSize="4096" debug="0" /> <message-resources parameter="com.lynx.struts.ApplicationResources" /> <plug-in className="org.apache.struts.tiles.TilesPlugin"> <set-property property="definitions-config" value="/WEB-INF/tiles-defs-masters.xml" /> <set-property property="moduleAware" value="true" /> <set-property property="definitions-parser-validate" value="true" /> </plug-in> </struts-config> this is my tiles-defs-masters.xml for masters module <tiles-definitions> <!-- Base Tiles Definition --> <definition name="base.definition.masters"> <put name="header" value="/pages/header.jsp" /> <put name="footer" value="/pages/footer.jsp" /> </definition> <!-- Tiles Definition of Masters page --> <!-- Tiles Definition of Company Master page --> <definition name="page.master.companyMaster" extends="base.definition.masters"> <put name="title" value="Back Office Company Master" /> <put name="masterMenuItems" value="/pages/Masters/CompanyMasterInfo.jsp" /> <put name="body" value="/pages/Masters/CompanyMaster.jsp" /> </definition> </tiles-definitions> The moment when I pass URL as http://127.0.0.1:8080/BackOffice/companyMaster.do im getting the above exception Why I don't know, my application is not able to use the second tiles-defs.xml i.e tiles-defs-masters.xml. Even I doubt in the base <tiles-definition> information tag. Is there any thing wrong in any of files information? Thanks in advance for ur reply.