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]