That's much better info :)

Now I see your creditCardHandler is invoked from an ActionUrl (form post).
So, the original redirect="true" on your forward to "storno1" is actually 
correct.
But, from the debug log I now see that the agreementHandler itself forwards to
a "/agreement_list.jsp" using redirect="true".
Remove the redirect from that one, and try again.

Lubos Svoboda wrote:
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]






---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to