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! 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
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
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
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
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]
Re: Struts2 and Portlets + GWT
Using the application scope, it shares the attributes with all servlets and portlets in the same application (the same .war unit), but it's still only visible to the user session. To get access to the PortletSession, just use PortletActionContext.getRequest().getPortletSession(). 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,
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]
Re: Struts2 and Portlets + GWT
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, 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