Announcement Announcement Module
No announcement yet.
Portlet MVC - Navigation issues Page Title Module
Move Remove Collapse
Conversation Detail Module
  • Filter
  • Time
  • Show
Clear All
new posts

  • Portlet MVC - Navigation issues

    When development a portlet based application using spring portlet MVC there is a navigation issue when the portlets are instanceable (instanceable means that user will be able to add diferent instances of the same portlet in the screen). What happen is that every portlet does not work independently but navigating across different screens within a portlet affect to the view of other portlets.

    I have been deployed in Liferay portal the ‘spring portlet sample application’ that spring provides (the one that includes books portlet, helloworld portlet, etc) without touching anything and they have the same problem that in my application.

    In the books portlet the first screen is the ‘book inventory’ that displays a list of books. By click one of them you go to the `book details` screen. Now if you click in another place of another portlet to navigate to another screen, I do not know why, the books portlet displays again the first screen (the book inventory one) and this should not happen as I did not touch anything in the books portlet and I should be able to navigate independently through each portlet but I can not.

    żAny help?


  • #2
    Not to play the blame game, but that sounds like a portlet container problem. The navigation in the portlets is generally handled by a combination of portlet modes and request parameters. Multiple instances of the same portlet should _not_ share mode or request parameters, so if this is happening it's a container issue. Maybe this is some kind of configureable setting for Liferay? I would suggest asking the question in the Liferay forums.


    • #3
      Perhaps I am not understanding fully, and I admit that I am new to Spring Web MVC, but what you're describing sounds like standard portlet behavior.

      Whenever the portal renders the page, all portlets on the page are rendered. If you're clicking on an Action URL on a single portlet, that portlet's action request will be called, followed by that portlets render request as well as the render request of all of the other portlets on the page. If you want the portlet interaction to be contained within a single portlet, then you would need to use resource serving request, rather than the action request.

      Resource serving was added in JSR-286 to provide a standard way of supporting ajax and bindary data.