类 ControllerClassNameHandlerMapping

  • 所有已实现的接口:
    Aware, ApplicationContextAware, Ordered, ServletContextAware, MatchableHandlerMapping, HandlerMapping

    @Deprecated
    public class ControllerClassNameHandlerMapping
    extends AbstractControllerUrlHandlerMapping
    已过时。
    as of 4.3, in favor of annotation-driven handler methods
    Implementation of HandlerMapping that follows a simple convention for generating URL path mappings from the class names of registered Controller beans as well as @Controller annotated beans.

    For simple Controller implementations (those that handle a single request type), the convention is to take the short name of the Class, remove the 'Controller' suffix if it exists and return the remaining text, lower-cased, as the mapping, with a leading /. For example:

    • WelcomeController ->/welcome*
    • HomeController ->/home*

    For MultiActionController MultiActionControllers and @Controller beans, a similar mapping is registered, except that all sub-paths are registered using the trailing wildcard pattern /*. For example:

    • WelcomeController ->/welcome, /welcome/*
    • CatalogController ->/catalog, /catalog/*

    For MultiActionController it is often useful to use this mapping strategy in conjunction with the InternalPathMethodNameResolver.

    Thanks to Warren Oliver for suggesting the "caseSensitive", "pathPrefix" and "basePackage" properties which have been added in Spring 2.5.

    从以下版本开始:
    2.0
    作者:
    Rob Harrop, Juergen Hoeller
    另请参阅:
    Controller, MultiActionController
    • 方法详细资料

      • setCaseSensitive

        public void setCaseSensitive​(boolean caseSensitive)
        已过时。
        Set whether to apply case sensitivity to the generated paths, e.g. turning the class name "BuyForm" into "buyForm".

        Default is "false", using pure lower case paths, e.g. turning the class name "BuyForm" into "buyform".

      • setPathPrefix

        public void setPathPrefix​(String prefixPath)
        已过时。
        Specify a prefix to prepend to the path generated from the controller name.

        Default is a plain slash ("/"). A path like "/mymodule" can be specified in order to have controller path mappings prefixed with that path, e.g. "/mymodule/buyform" instead of "/buyform" for the class name "BuyForm".

      • setBasePackage

        public void setBasePackage​(String basePackage)
        已过时。
        Set the base package to be used for generating path mappings, including all subpackages underneath this packages as path elements.

        Default is null, using the short class name for the generated path, with the controller's package not represented in the path. Specify a base package like "com.mycompany.myapp" to include subpackages within that base package as path elements, e.g. generating the path "/mymodule/buyform" for the class name "com.mycompany.myapp.mymodule.BuyForm". Subpackage hierarchies are represented as individual path elements, e.g. "/mymodule/mysubmodule/buyform" for the class name "com.mycompany.myapp.mymodule.mysubmodule.BuyForm".

      • generatePathMappings

        protected String[] generatePathMappings​(Class<?> beanClass)
        已过时。
        Generate the actual URL paths for the given controller class.

        Subclasses may choose to customize the paths that are generated by overriding this method.

        参数:
        beanClass - the controller bean class to generate a mapping for
        返回:
        the URL path mappings for the given controller