Sorry for my limited information. Action is invoked from html form as follows:
<%@ taglib uri="http://portals.apache.org/bridges/struts/tags-portlet-html" prefix="html" %> ... <html:form action="/creditCardHandler.shtml" method="post"> <input type="hidden" name="op" value="submit"/> ... <td align="right"><input type="submit" name="storno" value="Storno"/></td> ... </html:form> I have already tried your hint and removed redirect="true" but it still freeze at the same point. May be there is something wrong with my struts-portlet-config: <config> <render-context> <attribute name="errors"/> <attribute name="message"/> <attribute name="op"/> </render-context> <portlet-url-type> <action path="/agreementHandler"/> <!-- //it also freeze with this row <action path="/agreementHandler.shtml?op=list"/> --> <action path="/creditCardHandler"/> <resource path="/images/"/> </portlet-url-type> </config> Here is my log information from bridge and struts: 10:45:48 DEBUG (org.apache.portals.bridges.struts.StrutsPortlet:334) - process path: /creditCardHandler.shtml, requestType: ACTION 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:167) - Get module name for path /creditCardHandler.shtml 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:191) - Module name found: default 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:172) - Processing a 'POST' for path '/creditCardHandler' 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:200) - Looking for ActionForm bean instance in scope 'session' under attribute key 'creditCardForm' 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:255) - Can recycle existing ActionForm instance of type 'com.cleverbee.hci.test.struts.form.CreditCardForm'?: true 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:263) - --> [EMAIL PROTECTED] 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:327) - Storing ActionForm bean instance in scope 'session' under attribute key 'creditCardForm' 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:794) - Populating bean properties from this request 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:255) - Looking for Action instance for class org.springframework.web.struts.DelegatingActionProxy 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:269) - Returning existing Action instance 10:45:48 DEBUG (com.cleverbee.hci.test.struts.action.CreditCardHandlerAction:89) - storno() 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:364) - processForwardConfig(ForwardConfig[name=storno2,path=/agreementHandler.s html?op=list,redirect=false,contextRelative=false,module=null]) 10:45:48 DEBUG (org.apache.portals.bridges.struts.PortletServletRequestDispatcher:65) - saving dispatch to :/agreementHandler.shtml?op=list, from ACTION /creditCardHandler.shtml 10:45:48 WARN (org.apache.portals.bridges.struts.StrutsPortlet:438) - Warning: Using the original action URL for render URL: /creditCardHandler.shtml. A redirect should have been issued. 10:45:48 DEBUG (org.apache.portals.bridges.struts.StrutsPortlet:334) - process path: /creditCardHandler.shtml, requestType: VIEW 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:167) - Get module name for path /creditCardHandler.shtml 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:191) - Module name found: default 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:172) - Processing a 'GET' for path '/creditCardHandler' 10:45:48 DEBUG (org.apache.portals.bridges.struts.PortletServlet:143) - render context path: /agreementHandler.shtml?op=list 10:45:48 DEBUG (org.apache.portals.bridges.struts.PortletServletRequestDispatcher:123) - invoking dispatch to :/agreementHandler.shtml?op=list, from VIEW /creditCardHandler.shtml 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:167) - Get module name for path /agreementHandler.shtml 10:45:48 DEBUG (org.apache.struts.util.ModuleUtils:191) - Module name found: default 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:172) - Processing a 'GET' for path '/agreementHandler' 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:200) - Looking for ActionForm bean instance in scope 'session' under attribute key 'agreementsListForm' 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:294) - Creating new ActionForm instance of type 'com.cleverbee.hci.test.struts.form.AgreementsListForm' 10:45:48 DEBUG (org.apache.struts.util.RequestUtils:300) - --> [EMAIL PROTECTED] 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:327) - Storing ActionForm bean instance in scope 'session' under attribute key 'agreementsListForm' 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:794) - Populating bean properties from this request 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:255) - Looking for Action instance for class org.springframework.web.struts.DelegatingActionProxy 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:269) - Returning existing Action instance 10:45:48 DEBUG (com.cleverbee.hci.test.struts.action.AgreementHandlerAction:37) - list() 10:45:48 DEBUG (com.cleverbee.hci.test.struts.action.AgreementHandlerAction:99) - prepareAgreementList()... 10:45:48 DEBUG (com.cleverbee.hci.test.struts.action.AgreementHandlerAction:49) - list() OK, fwd=ForwardConfig[name=list,path=/agreement_list.jsp,redirect=true,conte xtRelative=false,module=null] 10:45:48 DEBUG (org.apache.struts.action.RequestProcessor:364) - processForwardConfig(ForwardConfig[name=list,path=/agreement_list.jsp,re direct=true,contextRelative=false,module=null]) Any ideas or suggestions? Thanks in advance Lubos -----Original Message----- From: Ate Douma [mailto:[EMAIL PROTECTED] Sent: Monday, February 06, 2006 9:22 AM To: [email protected] Subject: Re: Chaining actions Lubos Svoboda wrote: > Hello, > I have problem with chaining struts actions. I use dispatched actions > in chain in my application and it works fine on tomcat without > jetspeed. On the jetspeed it freeze everytime I try forward to another > action handler. > > Here is my config: > Jetspeed 2 > > > <action path="/agreementHandler" name="agreementsListForm" > type="com.cleverbee.hci.test.struts.action.AgreementHandlerAction" > scope="session" validate="false" parameter="op"> > <forward name="list" path="/agreement_list.jsp" redirect="true"/> > </action> > <action path="/creditCardHandler" name="creditCardForm" > type="com.cleverbee.hci.test.struts.action.CreditCardHandlerAction" > scope="session" validate="false" parameter="op"> > <forward name="show" path="/cc_activate.jsp" redirect="true"/> > <forward name="storno1" path="/agreementHandler.shtml?op=list" > redirect="true"/> > <forward name="storno2" path="/agreementHandler.shtml?op=list"/> > > </action> > > > Class CreditCardHandlerAction > .... > public ActionForward storno(ActionMapping mapping, ActionForm form, > HttpServletRequest request, HttpServletResponse response) throws > Exception { > ..... > return mapping.findForward("storno1"); // <==== it freeze now > - blank page is displayed > } > > Logging provides me information, that method "list" in > agreementHandler was executed (include forward "list"), but blank page > is displayed instead of page agreement_list.jsp! > Is there any workaround or fix for that? Please help. I have little to go by as your information is still too limited. In the future, try to be more specific and especially provide *how* you invoke a certain action or page, e.g. through a portlet ActionUrl or portlet RenderUrl. In this case, I've got the feeling the creditCardHandler might be invoked during the RenderRequest processing. If true, then you shouldn't be having a redirect="true" on the forward you invoke because redirecting isn't possible during (Portlet) rendering. Remove the redirect="true" in that case from your config and it should work. On another note: action chaining isn't really supported nor a recommended way of using Struts by the Struts guru's themselves. > > Thanks > Lubos > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
