org.springframework.web.servlet.handler.metadata
Class CommonsPathMapHandlerMapping
java.lang.Object
org.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.handler.AbstractHandlerMapping
org.springframework.web.servlet.handler.AbstractUrlHandlerMapping
org.springframework.web.servlet.handler.metadata.AbstractPathMapHandlerMapping
org.springframework.web.servlet.handler.metadata.CommonsPathMapHandlerMapping
- All Implemented Interfaces:
- ApplicationContextAware, HandlerMapping, Ordered
- public class CommonsPathMapHandlerMapping
- extends AbstractPathMapHandlerMapping
Subclass of AbstractPathMapHandlerMapping that recognizes Commons Attributes
metadata attributes of type PathMap on application Controllers and automatically
wires them into the current servlet's WebApplicationContext.
Controllers must have class attributes of the form:
&64;org.springframework.web.servlet.handler.commonsattributes.PathMap("/path.cgi")
The path must be mapped to the relevant Spring DispatcherServlet in /WEB-INF/web.xml.
It's possible to have multiple PathMap attributes on the one controller class.
To use this feature, you must compile application classes with Commons Attributes,
and run the Commons Attributes indexer tool on your application classes, which must
be in a Jar rather than in WEB-INF/classes.
Controllers instantiated by this class may have dependencies on middle tier
objects, expressed via JavaBean properties or constructor arguments. These will
be resolved automatically.
You will normally use this HandlerMapping with at most one DispatcherServlet in your web
application. Otherwise you'll end with one instance of the mapped controller for
each DispatcherServlet's context. You might want this--for example, if
one's using a .pdf mapping and a PDF view, and another a JSP view, or if
using different middle tier objects, but should understand the implications. All
Controllers with attributes will be picked up by each DispatcherServlet's context.
- Version:
- $Id: CommonsPathMapHandlerMapping.java,v 1.2 2004/03/18 02:46:17 trisberg Exp $
- Author:
- Rod Johnson
Method Summary |
protected java.util.Collection |
getClassNamesWithPathMapAttributes()
Use Commons Attributes AttributeIndex to get a Collection of FQNs of
classes with the required PathMap attribute. |
protected PathMap[] |
getPathMapAttributes(java.lang.Class handlerClass)
Use Commons Attributes to find PathMap attributes for the given class. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
CommonsPathMapHandlerMapping
public CommonsPathMapHandlerMapping()
getClassNamesWithPathMapAttributes
protected java.util.Collection getClassNamesWithPathMapAttributes()
- Use Commons Attributes AttributeIndex to get a Collection of FQNs of
classes with the required PathMap attribute. Protected so that it can
be overridden during testing.
- Specified by:
getClassNamesWithPathMapAttributes
in class AbstractPathMapHandlerMapping
getPathMapAttributes
protected PathMap[] getPathMapAttributes(java.lang.Class handlerClass)
- Use Commons Attributes to find PathMap attributes for the given class.
We know there's at least one, as the getClassNamesWithPathMapAttributes
method return this class name.
- Specified by:
getPathMapAttributes
in class AbstractPathMapHandlerMapping
Copyright (C) 2003-2004 The Spring Framework Project.