Save This Page
Home » spring-framework-2.5.4 » org.springframework » web » servlet » mvc » [javadoc | source]
org.springframework.web.servlet.mvc
public class: CancellableFormController [javadoc | source]
java.lang.Object
   org.springframework.context.support.ApplicationObjectSupport
      org.springframework.web.context.support.WebApplicationObjectSupport
         org.springframework.web.servlet.support.WebContentGenerator
            org.springframework.web.servlet.mvc.AbstractController
               org.springframework.web.servlet.mvc.BaseCommandController
                  org.springframework.web.servlet.mvc.AbstractFormController
                     org.springframework.web.servlet.mvc.SimpleFormController
                        org.springframework.web.servlet.mvc.CancellableFormController

All Implemented Interfaces:
    Controller, ServletContextAware, ApplicationContextAware

Extension of SimpleFormController that supports "cancellation" of form processing. By default, this controller looks for a given parameter in the request, identified by the cancelParamKey. If this parameter is present, then the controller will return the configured cancelView, otherwise processing is passed back to the superclass.

Workflow (in addition to the superclass):

  1. Call to processFormSubmission which calls #isCancelRequest to see if the incoming request is to cancel the current form entry. By default, #isCancelRequest returns true if the configured cancelParamKey exists in the request. This behavior can be overridden in subclasses.
  2. If #isCancelRequest returns false, then the controller will delegate all processing back to SimpleFormController , otherwise it will call the #onCancel version with all parameters. By default, that method will delegate to the #onCancel version with just the command object, which will in turn simply return the configured cancelView. This behavior can be overridden in subclasses.

Thanks to Erwin Bolwidt for submitting the original prototype of such a cancellable form controller!

Fields inherited from org.springframework.web.servlet.mvc.BaseCommandController:
DEFAULT_COMMAND_NAME
Fields inherited from org.springframework.web.servlet.support.WebContentGenerator:
METHOD_GET,  METHOD_HEAD,  METHOD_POST
Fields inherited from org.springframework.context.support.ApplicationObjectSupport:
logger
Method from org.springframework.web.servlet.mvc.CancellableFormController Summary:
getCancelParamKey,   getCancelView,   isCancelRequest,   isFormSubmission,   onCancel,   onCancel,   processFormSubmission,   setCancelParamKey,   setCancelView,   suppressValidation
Methods from org.springframework.web.servlet.mvc.SimpleFormController:
doSubmitAction,   getFormView,   getSuccessView,   isFormChangeRequest,   isFormChangeRequest,   onFormChange,   onFormChange,   onSubmit,   onSubmit,   onSubmit,   processFormSubmission,   referenceData,   referenceData,   setFormView,   setSuccessView,   showForm,   showForm,   suppressValidation
Methods from org.springframework.web.servlet.mvc.AbstractFormController:
currentFormObject,   formBackingObject,   getCommand,   getErrorsForNewForm,   getFormSessionAttributeName,   getFormSessionAttributeName,   handleInvalidSubmit,   handleRequestInternal,   isBindOnNewForm,   isFormSubmission,   isSessionForm,   onBindOnNewForm,   onBindOnNewForm,   processFormSubmission,   referenceData,   setBindOnNewForm,   setSessionForm,   showForm,   showForm,   showForm,   showNewForm
Methods from org.springframework.web.servlet.mvc.BaseCommandController:
bindAndValidate,   checkCommand,   createBinder,   createCommand,   getBindingErrorProcessor,   getCommand,   getCommandClass,   getCommandName,   getMessageCodesResolver,   getPropertyEditorRegistrars,   getValidator,   getValidators,   getWebBindingInitializer,   initApplicationContext,   initBinder,   isValidateOnBinding,   onBind,   onBind,   onBindAndValidate,   prepareBinder,   setBindingErrorProcessor,   setCommandClass,   setCommandName,   setMessageCodesResolver,   setPropertyEditorRegistrar,   setPropertyEditorRegistrars,   setValidateOnBinding,   setValidator,   setValidators,   setWebBindingInitializer,   suppressBinding,   suppressValidation,   suppressValidation,   suppressValidation,   useDirectFieldAccess
Methods from org.springframework.web.servlet.mvc.AbstractController:
handleRequest,   handleRequestInternal,   isSynchronizeOnSession,   setSynchronizeOnSession
Methods from org.springframework.web.servlet.support.WebContentGenerator:
applyCacheSeconds,   applyCacheSeconds,   cacheForSeconds,   cacheForSeconds,   checkAndPrepare,   checkAndPrepare,   getCacheSeconds,   getSupportedMethods,   isRequireSession,   isUseCacheControlHeader,   isUseCacheControlNoStore,   isUseExpiresHeader,   preventCaching,   setCacheSeconds,   setRequireSession,   setSupportedMethods,   setUseCacheControlHeader,   setUseCacheControlNoStore,   setUseExpiresHeader
Methods from org.springframework.web.context.support.WebApplicationObjectSupport:
getServletContext,   getTempDir,   getWebApplicationContext,   initApplicationContext,   initServletContext,   isContextRequired,   setServletContext
Methods from org.springframework.context.support.ApplicationObjectSupport:
getApplicationContext,   getMessageSourceAccessor,   initApplicationContext,   initApplicationContext,   isContextRequired,   requiredContextClass,   setApplicationContext
Methods from java.lang.Object:
equals,   getClass,   hashCode,   notify,   notifyAll,   toString,   wait,   wait,   wait
Method from org.springframework.web.servlet.mvc.CancellableFormController Detail:
 public final String getCancelParamKey() 
    Return the key of the request parameter used to identify a cancel request.
 public final String getCancelView() 
    Gets the name of the cancel view.
 protected boolean isCancelRequest(HttpServletRequest request) 
    Determine whether the incoming request is a request to cancel the processing of the current form.

    By default, this method returns true if a parameter matching the configured cancelParamKey is present in the request, otherwise it returns false. Subclasses may override this method to provide custom logic to detect a cancel request.

    The parameter is recognized both when sent as a plain parameter ("_cancel") or when triggered by an image button ("_cancel.x").

 protected boolean isFormSubmission(HttpServletRequest request) 
    Consider an explicit cancel request as a form submission too.
 protected ModelAndView onCancel(Object command) throws Exception 
    Simple onCancel version. Called by the default implementation of the onCancel version with all parameters.

    Default implementation returns eturns the configured cancelView. Subclasses may override this method to build a custom ModelAndView that may contain model parameters used in the cancel view.

    If you simply want to move the user to a new view and you don't want to add additional model parameters, use #setCancelView(String) rather than overriding an onCancel method.

 protected ModelAndView onCancel(HttpServletRequest request,
    HttpServletResponse response,
    Object command) throws Exception 
    Callback method for handling a cancel request. Called if #isCancelRequest returns true.

    Default implementation delegates to onCancel(Object) to return the configured cancelView. Subclasses may override either of the two methods to build a custom ModelAndView that may contain model parameters used in the cancel view.

    If you simply want to move the user to a new view and you don't want to add additional model parameters, use #setCancelView(String) rather than overriding an onCancel method.

 protected ModelAndView processFormSubmission(HttpServletRequest request,
    HttpServletResponse response,
    Object command,
    BindException errors) throws Exception 
 public final  void setCancelParamKey(String cancelParamKey) 
    Set the key of the request parameter used to identify a cancel request. Default is "_cancel".

    The parameter is recognized both when sent as a plain parameter ("_cancel") or when triggered by an image button ("_cancel.x").

 public final  void setCancelView(String cancelView) 
    Sets the name of the cancel view.
 protected boolean suppressValidation(HttpServletRequest request,
    Object command) 
    Suppress validation for an explicit cancel request too.