|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
ObjectPageFlowManagedObject
FlowController
SharedFlowController
public abstract class SharedFlowController
Base "shared flow" class for controller logic, exception handlers, and state that can be shared by any number of page
flows. A shared flow is not a page flow; it is used by page flows, but never becomes the "current page flow"
(see PageFlowController
for information on page flows and the "current page flow").
The class is configured through the
@Jpf.Controller
annotation.
A shared flow comes into existance in one of two ways:
sharedFlowRefs
annotation attribute, or
<default-shared-flow-refs>
element in
/WEB-INF/beehive-netui-config.xml declares that this shared flow will be used by all page flows in the web
application.
FlowController.remove()
or through a call to PageFlowUtils.removeSharedFlow(java.lang.String, javax.servlet.http.HttpServletRequest)
.
Shared flow actions are defined with action methods or action annotations that determine the next URI
to be displayed, after optionally performing arbitrary logic. A page or page flow can raise a shared flow action
using the pattern "
shared-flow-name.
action-name"
. The shared
flow name is the one chosen by the page flow
in name
on @Jpf.SharedFlowRef
.
A referenced shared flow gets the chance to handle any uncaught page flow exception. It declares its exception
handling through catches
on @Jpf.Controller
.
Properties in the current shared flow instance can be accessed from JSP 2.0-style expressions like this one:
${sharedFlow.
sharedFlowName.someProperty}
.
There may only be one shared flow in any package.
PageFlowController
,
Serialized FormField Summary |
---|
Fields inherited from class FlowController |
---|
defaultLocale, servlet |
Constructor Summary | |
---|---|
SharedFlowController()
|
Method Summary | |
---|---|
void |
ensureFailover(HttpServletRequest request)
Ensures that any changes to this object will be replicated in a cluster (for failover), even if the replication scheme uses a change-detection algorithm that relies on HttpSession.setAttribute to be aware of changes. |
String |
getDisplayName()
Get the display name. |
String |
getModulePath()
Get the Struts module path for actions in this shared flow. |
PreviousPageInfo |
getPreviousPageInfoLegacy(PageFlowController curJpf,
HttpServletRequest request)
Deprecated. This method will be removed without replacement in a future release. |
String |
getURI()
Get the URI. |
void |
persistInSession(HttpServletRequest request,
HttpServletResponse response)
Store this object in the user session, in the appropriate place. |
void |
removeFromSession(HttpServletRequest request)
Remove this instance from the session. |
void |
savePreviousPageInfo(ActionForward forward,
ActionForm form,
ActionMapping mapping,
HttpServletRequest request,
ServletContext servletContext,
boolean isSpecialForward)
Store information about recent pages displayed. |
Methods inherited from class PageFlowManagedObject |
---|
fieldIsUninitialized, getCreateTime, getServletContext, initializeField, valueBound, valueUnbound |
Methods inherited from class Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public SharedFlowController()
Method Detail |
---|
public String getModulePath()
getModulePath
in interface ActionResolver
getModulePath
in class FlowController
public void persistInSession(HttpServletRequest request, HttpServletResponse response)
persistInSession
in class PageFlowManagedObject
public void ensureFailover(HttpServletRequest request)
ensureFailover
in class PageFlowManagedObject
request
- the current HttpServletRequestpublic String getURI()
getURI
in interface ActionResolver
null
, as this object is not URL-addressible.public String getDisplayName()
getDisplayName
in class PageFlowManagedObject
public PreviousPageInfo getPreviousPageInfoLegacy(PageFlowController curJpf, HttpServletRequest request)
getPreviousPageInfoLegacy
in class FlowController
public void savePreviousPageInfo(ActionForward forward, ActionForm form, ActionMapping mapping, HttpServletRequest request, ServletContext servletContext, boolean isSpecialForward)
savePreviousPageInfo
in class FlowController
public void removeFromSession(HttpServletRequest request)
FlowController.remove()
may be called instead.
removeFromSession
in class PageFlowManagedObject
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |