Re: Struts2 and Portlets + GWT
Err, a stupid question... where do I send the CLA? And I have to send it in PDF format, right? On 10/31/07, Musachy Barroso [EMAIL PROTECTED] wrote: it would be great if you write something up :), you can do it on the GWT plugin page, or setup a new page on the wiki. You would need to file a CLA (http://www.apache.org/licenses/index.html#clas) if you haven't. regards musachy On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: By the way, if anyone ever want to know how to use GWT and struts2 for portlet development, I'll be glad to write something up. On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: - But doesn't that share the object in ALL sessions? I want to share a specific object per user session. Besides, I don't know how to acess the PortletSession. By using SessionAware I can only get a Map, the PortletSessionMap. The Portlet specs show an example with 3 arguments: session.setAttribute(home.url,url,PortletSession.APPLICATION_SCOPE); session.setAttribute(bkg.color,RED,PortletSession.PORTLET_SCOPE); but the map provided by the SessionAware interface is a regular Map. Thanks once more, Miguel On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: If you need to share data between the servlet and the portlet, you have to put it in the application scope, using the PortletSession.APPLICATION_SCOPE constant in the setAttribute operation. Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: I am already using the plugin :) Nice work, by the way ;) I'm having some issue sharing data between portlet sessions and servlet sessions... The portlet api says that the data in servlet session must be acessible from the portlet session. But if i put something in the session map by means of the SessionAware interface, when I'm in the GWT actions, the data is not acessible. Am I doing something wrong? On 10/31/07, Musachy Barroso [EMAIL PROTECTED] wrote: not sure if you can use it for this, but there is a GWT plugin for struts: http://cwiki.apache.org/S2PLUGINS/gwt-plugin.html musachy On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi, thanks for the answer. Yes you are correct, GWT makes special requests that update a part of a page. I am reading the Portlet spec and I didn't knew that portlets had custom urls, thanks for the pointer :) So I guess in order to have access to portlet preferences / principal info / etc, the best is to store them in the http session. Is it an option to write a custom GWT request that passes as a regular portlet url, so the dispatcher can process it? I understand that this is not directly related to struts, I just want to be sure that the Jsr168RequestDispatcher works by inspecting urls... On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: Hi! The Jsr168Dispatcher only handles requests created as Portlet URLs. I'm not familiar with GWT so apoligies if my assumptions are incorrect, but I assume that you're referring to some sort of partial request that updates a section of the page? In that case, it's correct that it should be invoked as a servlet request, since invoking it through a portlet url will change the state and corrupt your entire portlet (you would get the contents of the entire portal page from the request). So I would recommend that you build your application so that the AJAX part is working as a servlet. The Portlet 2.0 specification has better support for this kind of stuff, so it will improve in the future :) Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly
Struts2 and Portlets + GWT
Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly, bypassing the Jsr168Dispatcher. The action then 'thinks' that the request is a servlet request instead of a portlet request. My question is: how can I force all requests to pass by the Jsr168 request dispatcher? I want to have access of portlet data in my actions, through GWT calls. Thanks In advance, Miguel Ping
Re: Struts2 and Portlets + GWT
Hi, thanks for the answer. Yes you are correct, GWT makes special requests that update a part of a page. I am reading the Portlet spec and I didn't knew that portlets had custom urls, thanks for the pointer :) So I guess in order to have access to portlet preferences / principal info / etc, the best is to store them in the http session. Is it an option to write a custom GWT request that passes as a regular portlet url, so the dispatcher can process it? I understand that this is not directly related to struts, I just want to be sure that the Jsr168RequestDispatcher works by inspecting urls... On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: Hi! The Jsr168Dispatcher only handles requests created as Portlet URLs. I'm not familiar with GWT so apoligies if my assumptions are incorrect, but I assume that you're referring to some sort of partial request that updates a section of the page? In that case, it's correct that it should be invoked as a servlet request, since invoking it through a portlet url will change the state and corrupt your entire portlet (you would get the contents of the entire portal page from the request). So I would recommend that you build your application so that the AJAX part is working as a servlet. The Portlet 2.0 specification has better support for this kind of stuff, so it will improve in the future :) Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly, bypassing the Jsr168Dispatcher. The action then 'thinks' that the request is a servlet request instead of a portlet request. My question is: how can I force all requests to pass by the Jsr168 request dispatcher? I want to have access of portlet data in my actions, through GWT calls. Thanks In advance, Miguel Ping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts2 and Portlets + GWT
I am already using the plugin :) Nice work, by the way ;) I'm having some issue sharing data between portlet sessions and servlet sessions... The portlet api says that the data in servlet session must be acessible from the portlet session. But if i put something in the session map by means of the SessionAware interface, when I'm in the GWT actions, the data is not acessible. Am I doing something wrong? On 10/31/07, Musachy Barroso [EMAIL PROTECTED] wrote: not sure if you can use it for this, but there is a GWT plugin for struts: http://cwiki.apache.org/S2PLUGINS/gwt-plugin.html musachy On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi, thanks for the answer. Yes you are correct, GWT makes special requests that update a part of a page. I am reading the Portlet spec and I didn't knew that portlets had custom urls, thanks for the pointer :) So I guess in order to have access to portlet preferences / principal info / etc, the best is to store them in the http session. Is it an option to write a custom GWT request that passes as a regular portlet url, so the dispatcher can process it? I understand that this is not directly related to struts, I just want to be sure that the Jsr168RequestDispatcher works by inspecting urls... On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: Hi! The Jsr168Dispatcher only handles requests created as Portlet URLs. I'm not familiar with GWT so apoligies if my assumptions are incorrect, but I assume that you're referring to some sort of partial request that updates a section of the page? In that case, it's correct that it should be invoked as a servlet request, since invoking it through a portlet url will change the state and corrupt your entire portlet (you would get the contents of the entire portal page from the request). So I would recommend that you build your application so that the AJAX part is working as a servlet. The Portlet 2.0 specification has better support for this kind of stuff, so it will improve in the future :) Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly, bypassing the Jsr168Dispatcher. The action then 'thinks' that the request is a servlet request instead of a portlet request. My question is: how can I force all requests to pass by the Jsr168 request dispatcher? I want to have access of portlet data in my actions, through GWT calls. Thanks In advance, Miguel Ping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Hey you! Would you help me to carry the stone? Pink Floyd - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Struts2 and Portlets + GWT
By the way, if anyone ever want to know how to use GWT and struts2 for portlet development, I'll be glad to write something up. On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: - But doesn't that share the object in ALL sessions? I want to share a specific object per user session. Besides, I don't know how to acess the PortletSession. By using SessionAware I can only get a Map, the PortletSessionMap. The Portlet specs show an example with 3 arguments: session.setAttribute(home.url,url,PortletSession.APPLICATION_SCOPE); session.setAttribute(bkg.color,RED,PortletSession.PORTLET_SCOPE); but the map provided by the SessionAware interface is a regular Map. Thanks once more, Miguel On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: If you need to share data between the servlet and the portlet, you have to put it in the application scope, using the PortletSession.APPLICATION_SCOPE constant in the setAttribute operation. Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: I am already using the plugin :) Nice work, by the way ;) I'm having some issue sharing data between portlet sessions and servlet sessions... The portlet api says that the data in servlet session must be acessible from the portlet session. But if i put something in the session map by means of the SessionAware interface, when I'm in the GWT actions, the data is not acessible. Am I doing something wrong? On 10/31/07, Musachy Barroso [EMAIL PROTECTED] wrote: not sure if you can use it for this, but there is a GWT plugin for struts: http://cwiki.apache.org/S2PLUGINS/gwt-plugin.html musachy On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi, thanks for the answer. Yes you are correct, GWT makes special requests that update a part of a page. I am reading the Portlet spec and I didn't knew that portlets had custom urls, thanks for the pointer :) So I guess in order to have access to portlet preferences / principal info / etc, the best is to store them in the http session. Is it an option to write a custom GWT request that passes as a regular portlet url, so the dispatcher can process it? I understand that this is not directly related to struts, I just want to be sure that the Jsr168RequestDispatcher works by inspecting urls... On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: Hi! The Jsr168Dispatcher only handles requests created as Portlet URLs. I'm not familiar with GWT so apoligies if my assumptions are incorrect, but I assume that you're referring to some sort of partial request that updates a section of the page? In that case, it's correct that it should be invoked as a servlet request, since invoking it through a portlet url will change the state and corrupt your entire portlet (you would get the contents of the entire portal page from the request). So I would recommend that you build your application so that the AJAX part is working as a servlet. The Portlet 2.0 specification has better support for this kind of stuff, so it will improve in the future :) Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly, bypassing the Jsr168Dispatcher. The action then 'thinks' that the request is a servlet request instead of a portlet request. My question is: how can I force all requests to pass by the Jsr168 request dispatcher? I want to have access of portlet data in my actions, through GWT calls. Thanks In advance, Miguel Ping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Hey you! Would you help me to carry the stone? Pink Floyd
Re: Struts2 and Portlets + GWT
- But doesn't that share the object in ALL sessions? I want to share a specific object per user session. Besides, I don't know how to acess the PortletSession. By using SessionAware I can only get a Map, the PortletSessionMap. The Portlet specs show an example with 3 arguments: session.setAttribute(home.url,url,PortletSession.APPLICATION_SCOPE); session.setAttribute(bkg.color,RED,PortletSession.PORTLET_SCOPE); but the map provided by the SessionAware interface is a regular Map. Thanks once more, Miguel On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: If you need to share data between the servlet and the portlet, you have to put it in the application scope, using the PortletSession.APPLICATION_SCOPE constant in the setAttribute operation. Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: I am already using the plugin :) Nice work, by the way ;) I'm having some issue sharing data between portlet sessions and servlet sessions... The portlet api says that the data in servlet session must be acessible from the portlet session. But if i put something in the session map by means of the SessionAware interface, when I'm in the GWT actions, the data is not acessible. Am I doing something wrong? On 10/31/07, Musachy Barroso [EMAIL PROTECTED] wrote: not sure if you can use it for this, but there is a GWT plugin for struts: http://cwiki.apache.org/S2PLUGINS/gwt-plugin.html musachy On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi, thanks for the answer. Yes you are correct, GWT makes special requests that update a part of a page. I am reading the Portlet spec and I didn't knew that portlets had custom urls, thanks for the pointer :) So I guess in order to have access to portlet preferences / principal info / etc, the best is to store them in the http session. Is it an option to write a custom GWT request that passes as a regular portlet url, so the dispatcher can process it? I understand that this is not directly related to struts, I just want to be sure that the Jsr168RequestDispatcher works by inspecting urls... On 10/31/07, Nils-Helge Garli Hegvik [EMAIL PROTECTED] wrote: Hi! The Jsr168Dispatcher only handles requests created as Portlet URLs. I'm not familiar with GWT so apoligies if my assumptions are incorrect, but I assume that you're referring to some sort of partial request that updates a section of the page? In that case, it's correct that it should be invoked as a servlet request, since invoking it through a portlet url will change the state and corrupt your entire portlet (you would get the contents of the entire portal page from the request). So I would recommend that you build your application so that the AJAX part is working as a servlet. The Portlet 2.0 specification has better support for this kind of stuff, so it will improve in the future :) Nils-H On 10/31/07, Miguel Ping [EMAIL PROTECTED] wrote: Hi all, this is my first post to struts2 mailing list :) I'm using Struts2 and the gwt plugin by Musachy Barroso, in a portlet project, and for the front end I'm using Google Web Toolkit (gwt). So I'm using struts only for the actions, except for the 'default' action, which is a jsp with struts taglibs. In my portlet project, I have an action that implements the PrincipalAware interface, that is the default action for my portlet. This action calls the jsp. When I debug this action, I can see that the PrincipalProxy object is a portlet proxy object; however all gwt calls to struts2 actions that implement the PrincipalAware interface gives me only Serlver proxy objects. I think that this happens because GWT calls the action directly, bypassing the Jsr168Dispatcher. The action then 'thinks' that the request is a servlet request instead of a portlet request. My question is: how can I force all requests to pass by the Jsr168 request dispatcher? I want to have access of portlet data in my actions, through GWT calls. Thanks In advance, Miguel Ping - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Hey you! Would you help me to carry the stone? Pink Floyd - 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]