I can't see "q1Choice" defined in your tiles, it looks like you have defined the attribute only on request scope.
"header","contact","footer" are tiles attributes - just comment out the <tiles:useAttribute.../> and you might be OK. -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Thursday, 22 February 2007 5:17 AM To: Struts Users Mailing List Subject: Please Help: Problem in implementing Tiles Controller __________________ Hi Dave, Thanks for pointing me towards the link, it was of great help. Here is what i did. And i am also pasting the error i am getting. Step1: I created the following definition in my tiles-defs.xml tiles-defs.xml <tiles-definitions> <definition name="base.page" path="/pages/entCounsTileLayout.jsp"> <put name="header" value="/pages/entCslHeader.jsp" /> <put name="contact" value="/pages/contact.jsp" /> <put name="footer" value="/pages/seminarFooter.jsp" /> </definition> <definition name="question1.page" extends="base.page"> <put name="body" value=".question1Body.page" /> </definition> <definition name=".question1Body.page" path="/pages/question1Body.jsp" controllerClass="com.wef.seminar.entrance.QuestionController"> </definition> </tiles-definitions> Step2: I have the code of the controller i wrote, i have the package specific code and import statements intact: public class QuestionController implements Controller { public void execute(ComponentContext context, HttpServletRequest request, HttpServletResponse response, ServletContext servContext) throws Exception { } public void perform(ComponentContext context, HttpServletRequest request, HttpServletResponse response, ServletContext servContext) throws ServletException, IOException { java.util.ArrayList q1Choice = null; com.wef.seminar.entrance.EntranceAnswers ans = new com.wef.seminar.entrance.EntranceAnswers(); q1Choice = ans.getQ1ChoiceList(); System.out.println("\n************I am here***********\n"); request.setAttribute("q1Choice", q1Choice); request.setAttribute("vartest","Ajay Shenoy"); System.out.println("\n************I end here***********\n"); } } Step3: Here is the code of jsp, i.e. question1Body.jsp as mentioned in the tiles-defs.xml in the directory "pages". <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %> <html:html> <HEAD> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" import="java.util.Enumeration"%> <META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <META name="GENERATOR" content="IBM Software Development Platform" > <META http-equiv="Content-Style-Type" content="text/css"> <LINK href="theme/elstylesheet.css" rel="stylesheet" type= "text/css"> <TITLE></TITLE> <html:javascript formName="AnswerForm" /> </HEAD> <BODY> <html:form action="/question1Action" onsubmit="return validateAnswerForm(this)"> <tiles:useAttribute name="q1Choice" id= "q1Choice" classname="java.util.ArrayList" scope="request"/> <logic:iterate id="row" name= "q1Choice"> <html:radio property= "answer" value="value" idName="row"/> <bean:write name="row" property="label"/> <BR> </logic:iterate> <BR> <html:hidden property= "QuestionNumber" value="Question1"/> <html:submit property="submit" value="Continue" /> </html:form> </BODY> </html:html> Step4: Here is the error i am getting: Feb 20, 2007 2:42:40 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspException: Error - tag useAttribute : attribute 'q1Choice' not found in context. Check tag syntax at org.apache.struts.tiles.taglib.UseAttributeTag.doStartTag( UseAttributeTag.java:182) at org.apache.jsp.pages.question1Body_jsp._jspService( question1Body_jsp.java:223) at org.apache.jasper.runtime.HttpJspBase.service( HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke( ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude( ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include( ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include( JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.doInclude( PageContextImpl.java:631) at org.apache.jasper.runtime.PageContextImpl.include( PageContextImpl.java:625) at sun.reflect.GeneratedMethodAccessor241.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.apache.struts.tiles.TilesUtilImpl.doInclude( TilesUtilImpl.java:126) at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:149) at org.apache.struts.tiles.taglib.InsertTag.doInclude( InsertTag.java:761) at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag( InsertTag.java:893) at org.apache.struts.tiles.taglib.InsertTag.doEndTag( InsertTag.java:462) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspx_meth_tiles_insert_1( entCounsTileLayout_jsp.java:170) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspx_meth_html_html_0( entCounsTileLayout_jsp.java:111) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspService( entCounsTileLayout_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service( HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke( ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest( ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward( ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward( ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward( RequestProcessor.java:1054) at org.apache.struts.tiles.TilesRequestProcessor.doForward( TilesRequestProcessor.java:292) at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition( TilesRequestProcessor.java:268) at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForw ard( TilesRequestProcessor.java:367) at org.apache.struts.action.RequestProcessor.processForward( RequestProcessor.java:548) at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:209) at org.apache.struts.action.ActionServlet.process( ActionServlet.java:1858) at org.apache.struts.action.ActionServlet.doPost( ActionServlet.java:459) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process( Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc essConnection( Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket( PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt( LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Feb 20, 2007 2:42:40 PM org.apache.catalina.core.ApplicationDispatcher invoke SEVERE: Servlet.service() for servlet jsp threw exception javax.servlet.jsp.JspException: Error - tag useAttribute : attribute 'q1Choice' not found in context. Check tag syntax at org.apache.struts.tiles.taglib.UseAttributeTag.doStartTag( UseAttributeTag.java:182) at org.apache.jsp.pages.question1Body_jsp._jspService( question1Body_jsp.java:223) at org.apache.jasper.runtime.HttpJspBase.service( HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke( ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude( ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include( ApplicationDispatcher.java:499) at org.apache.jasper.runtime.JspRuntimeLibrary.include( JspRuntimeLibrary.java:966) at org.apache.jasper.runtime.PageContextImpl.include( PageContextImpl.java:602) at org.apache.struts.tiles.TilesUtilImpl.doInclude( TilesUtilImpl.java:135) at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:149) at org.apache.struts.tiles.taglib.InsertTag.doInclude( InsertTag.java:761) at org.apache.struts.tiles.taglib.InsertTag$InsertHandler.doEndTag( InsertTag.java:893) at org.apache.struts.tiles.taglib.InsertTag.doEndTag( InsertTag.java:462) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspx_meth_tiles_insert_1( entCounsTileLayout_jsp.java:170) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspx_meth_html_html_0( entCounsTileLayout_jsp.java:111) at org.apache.jsp.pages.entCounsTileLayout_jsp._jspService( entCounsTileLayout_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service( HttpJspBase.java:97) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:334) at org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke( ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.processRequest( ApplicationDispatcher.java:463) at org.apache.catalina.core.ApplicationDispatcher.doForward( ApplicationDispatcher.java:398) at org.apache.catalina.core.ApplicationDispatcher.forward( ApplicationDispatcher.java:301) at org.apache.struts.action.RequestProcessor.doForward( RequestProcessor.java:1054) at org.apache.struts.tiles.TilesRequestProcessor.doForward( TilesRequestProcessor.java:292) at org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition( TilesRequestProcessor.java:268) at org.apache.struts.tiles.TilesRequestProcessor.internalModuleRelativeForw ard( TilesRequestProcessor.java:367) at org.apache.struts.action.RequestProcessor.processForward( RequestProcessor.java:548) at org.apache.struts.action.RequestProcessor.process( RequestProcessor.java:209) at org.apache.struts.action.ActionServlet.process( ActionServlet.java:1858) at org.apache.struts.action.ActionServlet.doPost( ActionServlet.java:459) at javax.servlet.http.HttpServlet.service(HttpServlet.java:709) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.StandardWrapperValve.invoke( StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke( StandardContextValve.java:178) at org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:126) at org.apache.catalina.valves.ErrorReportValve.invoke( ErrorReportValve.java:105) at org.apache.catalina.core.StandardEngineValve.invoke( StandardEngineValve.java:107) at org.apache.catalina.connector.CoyoteAdapter.service( CoyoteAdapter.java:148) at org.apache.coyote.http11.Http11Processor.process( Http11Processor.java:869) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.proc essConnection( Http11BaseProtocol.java:664) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket( PoolTcpEndpoint.java:527) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt( LeaderFollowerWorkerThread.java:80) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Feb 20, 2007 2:42:40 PM org.apache.struts.tiles.taglib.InsertTag$InsertHandler doEndTag SEVERE: ServletException in '/pages/question1Body.jsp': Error - tag useAttribute : attribute 'q1Choice' not found in context. Check tag syntax org.apache.jasper.JasperException: Exception in JSP: /pages/question1Body.jsp:90 87: and then i am here 88: <BR> 89: 90: <tiles:useAttribute name="q1Choice" id="q1Choice" classname="java.util.ArrayList" scope="request"/> 91: <logic:iterate id="row" name="q1Choice"> 92: <html:radio property="answer" value="value" idName="row"/> 93: <bean:write name="row" property="label"/> Stacktrace: at org.apache.jasper.servlet.JspServletWrapper.handleJspException( JspServletWrapper.java:506) at org.apache.jasper.servlet.JspServletWrapper.service( JspServletWrapper.java:377) at org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:314) at org.apache.jasper.servlet.JspServlet.service( JspServlet.java:264) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter( ApplicationFilterChain.java:252) at org.apache.catalina.core.ApplicationFilterChain.doFilter( ApplicationFilterChain.java:173) at org.apache.catalina.core.ApplicationDispatcher.invoke( ApplicationDispatcher.java:672) at org.apache.catalina.core.ApplicationDispatcher.doInclude( ApplicationDispatcher.java:574) at org.apache.catalina.core.ApplicationDispatcher.include( ApplicationDispatcher.java:499) ********************************************************************** This message is intended for the addressee named and may contain privileged information or confidential information or both. If you are not the intended recipient please delete it and notify the sender. ********************************************************************** --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]