org.springframework.web.servlet.handler.metadata
public class: CommonsPathMapHandlerMapping [javadoc |
source]
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:
HandlerMapping, Ordered, ServletContextAware, ApplicationContextAware
Deprecated! as - of Spring 2.5, in favor of annotation-based request mapping.
To be removed in Spring 3.0.
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.
- author:
Rod - Johnson
- author:
Juergen - Hoeller
| Methods from org.springframework.web.servlet.handler.AbstractUrlHandlerMapping: |
|---|
|
buildPathExposingHandler, exposePathWithinMapping, getHandlerInternal, getHandlerMap, getPathMatcher, getRootHandler, lookupHandler, registerHandler, registerHandler, setAlwaysUseFullPath, setLazyInitHandlers, setPathMatcher, setRootHandler, setUrlDecode, setUrlPathHelper, validateHandler |
| Methods from org.springframework.web.servlet.handler.AbstractHandlerMapping: |
|---|
|
adaptInterceptor, extendInterceptors, getAdaptedInterceptors, getDefaultHandler, getHandler, getHandlerExecutionChain, getHandlerInternal, getOrder, initApplicationContext, initInterceptors, setDefaultHandler, setInterceptors, setOrder |
| Method from org.springframework.web.servlet.handler.metadata.CommonsPathMapHandlerMapping Detail: |
protected Class[] getClassesWithPathMapAttributes() throws Exception {
AttributeIndex ai = new AttributeIndex(getClass().getClassLoader());
Collection classes = ai.getClasses(PathMap.class);
return (Class[]) classes.toArray(new Class[classes.size()]);
} Deprecated!Use Commons Attributes AttributeIndex to get a Collection of Class
objects with the required PathMap attribute. Protected so that it can
be overridden during testing. |
protected PathMap[] getPathMapAttributes(Class handlerClass) {
Collection atts = Attributes.getAttributes(handlerClass, PathMap.class);
return (PathMap[]) atts.toArray(new PathMap[atts.size()]);
} Deprecated!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. |