By Murali Veligeti on Nov 28, 2012
1) Action phase
2) Render phase.
The Action phase is executed only once and is where any 'backend' changes or actions occur, such as making changes in a database.
The Render phase then produces what is displayed to the user each time the display is refreshed.
The critical point here is that for a single overall request, the action phase is executed only once, but the render phase may be executed multiple times. This provides a clean separation between the activities that modify the persistent state of your system and the activities that generate what is displayed to the user.
The dual phases of portlet requests are one of the real strengths of the JSR-168 specification. For example, dynamic search results can be updated routinely on the display without the user explicitly re-running the search. Most other portlet MVC frameworks attempt to completely hide the two phases from the developer and make it look as much like traditional servlet development as possible - we think this approach removes one of the main benefits of using portlets.[Read More]