# Package org.springframework.web.portlet.mvc

Standard controller implementations for the portlet MVC framework that comes with Spring.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Controller | Base portlet Controller interface, representing a component that receives RenderRequest/RenderResponse and ActionRequest/ActionResponse like a `Portlet` but is able to participate in an MVC workflow.
  EventAwareController | Extension of the Portlet `Controller` interface that allows for handling Portlet 2.0 event requests as well.
  ResourceAwareController | Extension of the Portlet `Controller` interface that allows for handling Portlet 2.0 resource requests as well.

- Class Summary
  Class | Description
  --- | ---
  AbstractCommandController | Deprecated as of Spring 3.0, in favor of annotated controllers
  AbstractController | Convenient superclass for controller implementations, using the Template Method design pattern.
  AbstractFormController | Deprecated as of Spring 3.0, in favor of annotated controllers
  AbstractWizardFormController | Deprecated as of Spring 3.0, in favor of annotated controllers
  BaseCommandController | Deprecated as of Spring 3.0, in favor of annotated controllers
  ParameterizableViewController | Trivial controller that always returns a named view.
  PortletModeNameViewController | Trivial controller that transforms the PortletMode to a view name.
  PortletWrappingController | `Controller` implementation that wraps a portlet instance which it manages internally.
  SimpleControllerHandlerAdapter | Adapter to use the Controller workflow interface with the generic DispatcherPortlet.
  SimpleFormController | Deprecated as of Spring 3.0, in favor of annotated controllers

## Package org.springframework.web.portlet.mvc Description

Standard controller implementations for the portlet MVC framework that comes with Spring. Provides both abstract base classes and concrete implementations for often seen use cases.

A `Controller` - as defined in this package - is analogous to a Struts `Action`. Usually `Controllers` are JavaBeans to allow easy configuration. Controllers define the `C` from so-called MVC paradigm and can be used in conjunction with the `ModelAndView` to achieve interactive applications. The view might be represented by a HTML interface, but, because of model and the controller being completely independent of the view, PDF views are possible, as well as for instance Excel views.

Especially useful to read, while getting into the Spring MVC framework are the following:

- Controller
- BaseCommandController
- ParameterizableViewController