You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by James Holmes <ja...@jamesholmes.com> on 2007/08/12 18:17:13 UTC

[s2] portlets - another issue

Nils-H,

I have come across another issue during my Web app to portlet app conversion process for my Struts 2 application.

Clicking a link on a page that executes an action does not go into the action/event phase. For example, I have a link on a page to delete an element in a database. The 
link runs my DeleteAction and that works fine. When the DeleteAction is finished it's result is executed in the render phase. This is the problem. I was expecting the 
result to be executed in the action/event phase. In Jetspeed 2 this causes the portlet to give a message saying that "The requested resource is not available.".

Since my knowledge is limited here, my guess is that when you submit a form somehow the action/event phase is triggered, but it is not being triggered for simply clicking 
a link that executes an action.

Here is snippet from my logs if this is any help in resolving the issue:

2007-08-12 12:35:43,163 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:303) - Entering render
2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:415) - serviceAction
2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:423) - Creating action proxy for name = ageGroupDelete, namespace = /admin
2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:192) - entering MessageStoreInterceptor ...
2007-08-12 12:35:43,193 DEBUG (org.apache.struts2.interceptor.FileUploadInterceptor:204) - Bypassing /admin/ageGroupDelete
2007-08-12 12:35:43,293 DEBUG (org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor:138) - Validating /admin/ageGroupDelete with method delete.
Hibernate: delete from age_group where id=?
2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:168) - Executing result in Render phase
2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:176) - Location: /admin/ageGroup.action?operationMode=RETRIEVE
2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:267) - store action 2007-08-12 12:35:43,393 DEBUG 
(org.apache.struts2.interceptor.MessageStoreInterceptor:198) - exit executing MessageStoreInterceptor
2007-08-12 12:35:43,403 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:313) - Leaving render

Any ideas?

Thanks,

James

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2] portlets - another issue

Posted by Nils-Helge Garli <ni...@gmail.com>.
I'm mixing things up. It's not the portletMode attribute, but the
portletUrlType attribute that needs to be set. Sorry for the
spamming....

On 8/12/07, Nils-Helge Garli <ni...@gmail.com> wrote:
> It might be that it should be set to "action" instead of "event". It
> really reminds me that things need to be documented properly....
>
> On 8/12/07, Nils-Helge Garli <ni...@gmail.com> wrote:
> > Hi James!
> >
> > It's great that you're really testing out the portlet support!
> >
> > By default, s:url (GET) is generating render urls, and s:form (POST)
> > is generating action urls. For s:url, use the portletMode attribute
> > and set it to "event" if you need to execute a link in the event
> > phase. For s:form, you can specify method="GET" if you need to create
> > a render url.
> >
> > Is that what you're looking for?
> >
> > Nils-H
> >
> > On 8/12/07, James Holmes <ja...@jamesholmes.com> wrote:
> > > Nils-H,
> > >
> > > I have come across another issue during my Web app to portlet app conversion process for my Struts 2 application.
> > >
> > > Clicking a link on a page that executes an action does not go into the action/event phase. For example, I have a link on a page to delete an element in a database. The
> > > link runs my DeleteAction and that works fine. When the DeleteAction is finished it's result is executed in the render phase. This is the problem. I was expecting the
> > > result to be executed in the action/event phase. In Jetspeed 2 this causes the portlet to give a message saying that "The requested resource is not available.".
> > >
> > > Since my knowledge is limited here, my guess is that when you submit a form somehow the action/event phase is triggered, but it is not being triggered for simply clicking
> > > a link that executes an action.
> > >
> > > Here is snippet from my logs if this is any help in resolving the issue:
> > >
> > > 2007-08-12 12:35:43,163 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:303) - Entering render
> > > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:415) - serviceAction
> > > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:423) - Creating action proxy for name = ageGroupDelete, namespace = /admin
> > > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:192) - entering MessageStoreInterceptor ...
> > > 2007-08-12 12:35:43,193 DEBUG (org.apache.struts2.interceptor.FileUploadInterceptor:204) - Bypassing /admin/ageGroupDelete
> > > 2007-08-12 12:35:43,293 DEBUG (org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor:138) - Validating /admin/ageGroupDelete with method delete.
> > > Hibernate: delete from age_group where id=?
> > > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:168) - Executing result in Render phase
> > > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:176) - Location: /admin/ageGroup.action?operationMode=RETRIEVE
> > > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:267) - store action 2007-08-12 12:35:43,393 DEBUG
> > > (org.apache.struts2.interceptor.MessageStoreInterceptor:198) - exit executing MessageStoreInterceptor
> > > 2007-08-12 12:35:43,403 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:313) - Leaving render
> > >
> > > Any ideas?
> > >
> > > Thanks,
> > >
> > > James
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > > For additional commands, e-mail: dev-help@struts.apache.org
> > >
> > >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2] portlets - another issue

Posted by Nils-Helge Garli <ni...@gmail.com>.
It might be that it should be set to "action" instead of "event". It
really reminds me that things need to be documented properly....

On 8/12/07, Nils-Helge Garli <ni...@gmail.com> wrote:
> Hi James!
>
> It's great that you're really testing out the portlet support!
>
> By default, s:url (GET) is generating render urls, and s:form (POST)
> is generating action urls. For s:url, use the portletMode attribute
> and set it to "event" if you need to execute a link in the event
> phase. For s:form, you can specify method="GET" if you need to create
> a render url.
>
> Is that what you're looking for?
>
> Nils-H
>
> On 8/12/07, James Holmes <ja...@jamesholmes.com> wrote:
> > Nils-H,
> >
> > I have come across another issue during my Web app to portlet app conversion process for my Struts 2 application.
> >
> > Clicking a link on a page that executes an action does not go into the action/event phase. For example, I have a link on a page to delete an element in a database. The
> > link runs my DeleteAction and that works fine. When the DeleteAction is finished it's result is executed in the render phase. This is the problem. I was expecting the
> > result to be executed in the action/event phase. In Jetspeed 2 this causes the portlet to give a message saying that "The requested resource is not available.".
> >
> > Since my knowledge is limited here, my guess is that when you submit a form somehow the action/event phase is triggered, but it is not being triggered for simply clicking
> > a link that executes an action.
> >
> > Here is snippet from my logs if this is any help in resolving the issue:
> >
> > 2007-08-12 12:35:43,163 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:303) - Entering render
> > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:415) - serviceAction
> > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:423) - Creating action proxy for name = ageGroupDelete, namespace = /admin
> > 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:192) - entering MessageStoreInterceptor ...
> > 2007-08-12 12:35:43,193 DEBUG (org.apache.struts2.interceptor.FileUploadInterceptor:204) - Bypassing /admin/ageGroupDelete
> > 2007-08-12 12:35:43,293 DEBUG (org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor:138) - Validating /admin/ageGroupDelete with method delete.
> > Hibernate: delete from age_group where id=?
> > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:168) - Executing result in Render phase
> > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:176) - Location: /admin/ageGroup.action?operationMode=RETRIEVE
> > 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:267) - store action 2007-08-12 12:35:43,393 DEBUG
> > (org.apache.struts2.interceptor.MessageStoreInterceptor:198) - exit executing MessageStoreInterceptor
> > 2007-08-12 12:35:43,403 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:313) - Leaving render
> >
> > Any ideas?
> >
> > Thanks,
> >
> > James
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> > For additional commands, e-mail: dev-help@struts.apache.org
> >
> >
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org


Re: [s2] portlets - another issue

Posted by Nils-Helge Garli <ni...@gmail.com>.
Hi James!

It's great that you're really testing out the portlet support!

By default, s:url (GET) is generating render urls, and s:form (POST)
is generating action urls. For s:url, use the portletMode attribute
and set it to "event" if you need to execute a link in the event
phase. For s:form, you can specify method="GET" if you need to create
a render url.

Is that what you're looking for?

Nils-H

On 8/12/07, James Holmes <ja...@jamesholmes.com> wrote:
> Nils-H,
>
> I have come across another issue during my Web app to portlet app conversion process for my Struts 2 application.
>
> Clicking a link on a page that executes an action does not go into the action/event phase. For example, I have a link on a page to delete an element in a database. The
> link runs my DeleteAction and that works fine. When the DeleteAction is finished it's result is executed in the render phase. This is the problem. I was expecting the
> result to be executed in the action/event phase. In Jetspeed 2 this causes the portlet to give a message saying that "The requested resource is not available.".
>
> Since my knowledge is limited here, my guess is that when you submit a form somehow the action/event phase is triggered, but it is not being triggered for simply clicking
> a link that executes an action.
>
> Here is snippet from my logs if this is any help in resolving the issue:
>
> 2007-08-12 12:35:43,163 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:303) - Entering render
> 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:415) - serviceAction
> 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:423) - Creating action proxy for name = ageGroupDelete, namespace = /admin
> 2007-08-12 12:35:43,183 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:192) - entering MessageStoreInterceptor ...
> 2007-08-12 12:35:43,193 DEBUG (org.apache.struts2.interceptor.FileUploadInterceptor:204) - Bypassing /admin/ageGroupDelete
> 2007-08-12 12:35:43,293 DEBUG (org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor:138) - Validating /admin/ageGroupDelete with method delete.
> Hibernate: delete from age_group where id=?
> 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:168) - Executing result in Render phase
> 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.portlet.result.PortletResult:176) - Location: /admin/ageGroup.action?operationMode=RETRIEVE
> 2007-08-12 12:35:43,393 DEBUG (org.apache.struts2.interceptor.MessageStoreInterceptor:267) - store action 2007-08-12 12:35:43,393 DEBUG
> (org.apache.struts2.interceptor.MessageStoreInterceptor:198) - exit executing MessageStoreInterceptor
> 2007-08-12 12:35:43,403 DEBUG (org.apache.struts2.portlet.dispatcher.Jsr168Dispatcher:313) - Leaving render
>
> Any ideas?
>
> Thanks,
>
> James
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
> For additional commands, e-mail: dev-help@struts.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org