Ronnie, Here is what I see: you have two traces that both invoke your Action.execute() with one call (each) from the TilesRequestProcessor. Since your trace doesn't show two calls to the Tiles Request Processor, that suggests your browser is submitting twice. The question is why is it different when you have a Tile listed as your success/error ActionForward. To help debug this, can you show us:
1) Your form's <form .... > declaration tag (especially any onclick declarations). 2) Any submit buttons (both HTML the browser sees and from the JSP page) you use in that form with any onclick="..." declarations so we can be sure it isn't performing a submit calls from a submit button resulting in some sort of double submit such as you saw? 3) Your Action and forward definitions for both the tile use and the direct JSP use. For example, are you adding 'redirect="true"' to your forward when you are using a JSP so the browser redirects externally to the JSP or with it as false so it performs an internal submit so the browser never knows the true destination/JSP-page? Regards, David -----Original Message----- From: Ronnie Arosa [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 20, 2005 1:51 PM To: 'Struts Users Mailing List' Subject: RE: TilesRequestProcessor is executed twice Well, I'm debugging my source code with Sysdeo's eclipse plugin. I toggled a breakpoint in one of my action, and founded that it'd been executed twice. Of course results of my actions are obtained twice (i.e. an insert in a database is done twice). I've added the 2 stack traces below this. This is the first execution's stack trace: Thread [http-80-Processor22] (Suspended (breakpoint at line 46 in PartesMedicosAction)) PartesMedicosAction.execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 46 TilesRequestProcessor(RequestProcessor).processActionPerform(HttpServletRequ est, HttpServletResponse, Action, ActionForm, ActionMapping) line: 421 TilesRequestProcessor(RequestProcessor).process(HttpServletRequest, HttpServletResponse) line: 226 ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1164 ActionServlet.doPost(HttpServletRequest, HttpServletResponse) line: 415 ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 709 ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 802 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 252 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 173 StandardWrapperValve.invoke(Request, Response) line: 213 StandardContextValve.invoke(Request, Response) line: 178 StandardHostValve.invoke(Request, Response) line: 126 ErrorReportValve.invoke(Request, Response) line: 105 StandardEngineValve.invoke(Request, Response) line: 107 CoyoteAdapter.service(Request, Response) line: 148 Http11Processor.process(InputStream, OutputStream) line: 856 Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 744 PoolTcpEndpoint.processSocket(Socket, TcpConnection, Object[]) line: 527 LeaderFollowerWorkerThread.runIt(Object[]) line: 80 ThreadPool$ControlRunnable.run() line: 684 ThreadWithAttributes(Thread).run() line: 595 The second time the Action is executed: Thread [http-80-Processor25] (Suspended (breakpoint at line 46 in PartesMedicosAction)) PartesMedicosAction.execute(ActionMapping, ActionForm, HttpServletRequest, HttpServletResponse) line: 46 TilesRequestProcessor(RequestProcessor).processActionPerform(HttpServletRequ est, HttpServletResponse, Action, ActionForm, ActionMapping) line: 421 TilesRequestProcessor(RequestProcessor).process(HttpServletRequest, HttpServletResponse) line: 226 ActionServlet.process(HttpServletRequest, HttpServletResponse) line: 1164 ActionServlet.doGet(HttpServletRequest, HttpServletResponse) line: 397 ActionServlet(HttpServlet).service(HttpServletRequest, HttpServletResponse) line: 689 ActionServlet(HttpServlet).service(ServletRequest, ServletResponse) line: 802 ApplicationFilterChain.internalDoFilter(ServletRequest, ServletResponse) line: 252 ApplicationFilterChain.doFilter(ServletRequest, ServletResponse) line: 173 StandardWrapperValve.invoke(Request, Response) line: 213 StandardContextValve.invoke(Request, Response) line: 178 StandardHostValve.invoke(Request, Response) line: 126 ErrorReportValve.invoke(Request, Response) line: 105 StandardEngineValve.invoke(Request, Response) line: 107 CoyoteAdapter.service(Request, Response) line: 148 Http11Processor.process(InputStream, OutputStream) line: 856 Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection, Object[]) line: 744 PoolTcpEndpoint.processSocket(Socket, TcpConnection, Object[]) line: 527 LeaderFollowerWorkerThread.runIt(Object[]) line: 80 ThreadPool$ControlRunnable.run() line: 684 ThreadWithAttributes(Thread).run() line: 595 Thx. Ronnie. -----Mensaje original----- De: David G. Friedman [mailto:[EMAIL PROTECTED] Enviado el: miércoles, 20 de julio de 2005 17:19 Para: Struts Users Mailing List Asunto: RE: TilesRequestProcessor is executed twice Ronnie, What do you see that makes you think the tiles request is bring processed twice? Perhaps that indicator can help us determine your problem. Regards, David -----Original Message----- From: Ronnie Arosa [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 20, 2005 6:19 AM To: Struts Users Mailing List Subject: TilesRequestProcessor is executed twice Hello everybody, I'm working in a struts application with tiles and modules. Its my first time working with tiles and I felt into a problem: the TilesRequestProcessor is called twice. This happens when I forward my actions to a tile. If the same action is forward to a simple page (i.e. a jsp page) everything goes normally. Here is one of my actions definition: <action path="/myRequest" type="com.indicusoft.struts.myRequestAction"> <forward name="failure" path="myRequest.page"></forward> <forward name="success" path="myRequest.page"></forward> </action> And this is my tiles definition file: <definition name=".mainLayout" path="/common/classicLayout.jsp"> <put name="title" value="My application"></put> <put name="header" value="/common/header.jsp"></put> <put name="menu" value="/commons/blank.jsp"></put> <put name="footer" value="/common/footer.jsp"></put> <put name="error" value="/common/error.jsp"></put> <put name="body" value=""></put> </definition> <definition name="myRequest.page" extends=".mainLayout"> <put name="title" value="Request Page"></put> <put name="body" value="/myRequest.jsp"></put> </definition> Thanks in advance. Ronnie. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]