Improved JavaDoc.
This commit is contained in:
@@ -58,6 +58,25 @@ import org.springframework.webflow.executor.support.ResponseInstructionHandler;
|
|||||||
* It is also possible to customize the {@link FlowExecutorArgumentHandler}
|
* It is also possible to customize the {@link FlowExecutorArgumentHandler}
|
||||||
* strategy to allow for different types of controller parameterization, for
|
* strategy to allow for different types of controller parameterization, for
|
||||||
* example perhaps in conjunction with a REST-style request mapper.
|
* example perhaps in conjunction with a REST-style request mapper.
|
||||||
|
* <p>
|
||||||
|
* Integrating Spring Web Flow into a Portlet environment puts some minor
|
||||||
|
* contraints on your flows. These constraints result from technical limitations
|
||||||
|
* in the Portlet API, for instance the fact that a render request cannot
|
||||||
|
* issue a redirect. Keep the following in mind when developing Portlets
|
||||||
|
* using Spring Web Flow:
|
||||||
|
* <ul>
|
||||||
|
* <li>Using the well known POST-REDIRECT-GET idiom, for instance using
|
||||||
|
* <i>alwaysRedirectOnPause</i> or the "redirect:" view prefix, does not
|
||||||
|
* make sense in a Portlet environment where the Portlet container handles
|
||||||
|
* this using a seperate <i>render phase</i>. In other words, a
|
||||||
|
* {@link FlowExecutionRedirect} is not supportd.</li>
|
||||||
|
* <li>This controller will launch a new flow execution <i>every time</i> it handles
|
||||||
|
* a render request without having previously handled an action request
|
||||||
|
* (for the same session) or the render request containing a flow execution key.</li>
|
||||||
|
* <li>Launching new flow executions is done in the render phase. As a result
|
||||||
|
* the first view selection your flow makes cannot be a {@link FlowDefinitionRedirect}
|
||||||
|
* or an {@link ExternalRedirect}.</li>
|
||||||
|
* </ul>
|
||||||
*
|
*
|
||||||
* @see org.springframework.webflow.executor.FlowExecutor
|
* @see org.springframework.webflow.executor.FlowExecutor
|
||||||
* @see org.springframework.webflow.executor.support.FlowExecutorArgumentHandler
|
* @see org.springframework.webflow.executor.support.FlowExecutorArgumentHandler
|
||||||
@@ -276,6 +295,10 @@ public class PortletFlowController extends AbstractController implements Initial
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
// we can't render any of the redirect responses since 'sendRedirect' is only
|
||||||
|
// available on ActionResponse during the action phase
|
||||||
|
// furthermore, a FlowExecutionRedirect doesn't really makes sense since the
|
||||||
|
// portlet container handles refreshes with the render phase
|
||||||
throw new IllegalArgumentException(
|
throw new IllegalArgumentException(
|
||||||
"Don't know how to render response instruction " + responseInstruction);
|
"Don't know how to render response instruction " + responseInstruction);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user