When a portlet is targetted for an
event
, the portlet will receive two portlet requests, one for the
event
phase, and then followed by a
render
operation. When in the
event
phase, the action that is executed can't render any output. This means that if an action in the XWork configuration is executed in the event phase, and the action is set up with a result that should render something, the result can't immediately be executed. The portlet needs to "wait" to the render phase to do the rendering.
When the {@link org.apache.struts2.portlet.result.PortletResult} detects such ascenario, instead of executing the actual view, it prepares a couple of render parameters specifying this action and the location of the view, which then will be executed in the following render request.