The Spring Framework

## org.springframework.web.servlet.mvc.multiaction
Class InternalPathMethodNameResolver

    java.lang.Object
      org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver
          org.springframework.web.servlet.mvc.multiaction.InternalPathMethodNameResolver

All Implemented Interfaces:
  MethodNameResolver

    public class InternalPathMethodNameResolver

extends AbstractUrlMethodNameResolver

Simple implementation of `MethodNameResolver` that maps URL to method name. Although this is the default implementation used by the `MultiActionController` class (because it requires no configuration), it's bit naive for most applications. In particular, we don't usually want to tie URL to implementation methods.

Maps the resource name after the last slash, ignoring an extension. E.g. "/foo/bar/baz.html" to "baz", assuming a "/foo/bar/baz.html" controller mapping to the corresponding MultiActionController handler. method. Doesn't support wildcards.

Author:
  Rod Johnson, Juergen Hoeller

Field Summary

Fields inherited from class org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver
`logger`

Constructor Summary
`InternalPathMethodNameResolver()`

Method Summary
`protected String` `extractHandlerMethodNameFromUrlPath(String uri)` Extract the handler method name from the given request URI.
`protected String` `getHandlerMethodNameForUrlPath(String urlPath)` Extracts the method name indicated by the URL path.
`protected String` `getPrefix()` Return the common prefix for handler method names.
`protected String` `getSuffix()` Return the common suffix for handler method names.
`protected String` `postProcessHandlerMethodName(String methodName)` Build the full handler method name based on the given method name as indicated by the URL path.
`void` `setPrefix(String prefix)` Specify a common prefix for handler method names.
`void` `setSuffix(String suffix)` Specify a common suffix for handler method names.

Methods inherited from class org.springframework.web.servlet.mvc.multiaction.AbstractUrlMethodNameResolver
`getHandlerMethodName, setAlwaysUseFullPath, setUrlDecode, setUrlPathHelper`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### InternalPathMethodNameResolver

    public InternalPathMethodNameResolver()

Method Detail

### setPrefix

    public void setPrefix(String prefix)

  Specify a common prefix for handler method names. Will be prepended to the internal path found in the URL: e.g. internal path "baz", prefix "my" -> method name "mybaz".

### getPrefix

    protected String getPrefix()

  Return the common prefix for handler method names.

### setSuffix

    public void setSuffix(String suffix)

  Specify a common suffix for handler method names. Will be appended to the internal path found in the URL: e.g. internal path "baz", suffix "Handler" -> method name "bazHandler".

### getSuffix

    protected String getSuffix()

  Return the common suffix for handler method names.

### getHandlerMethodNameForUrlPath

    protected String getHandlerMethodNameForUrlPath(String urlPath)

  Extracts the method name indicated by the URL path.

  Specified by:
    `getHandlerMethodNameForUrlPath` in class `AbstractUrlMethodNameResolver`
  Parameters:
    `urlPath` - the URL path to use for lookup, according to the settings in this class
  Returns:
    a method name that can handle this request. Should return null if no matching method found.
  See Also:
    `extractHandlerMethodNameFromUrlPath(java.lang.String)`, `postProcessHandlerMethodName(java.lang.String)`

### extractHandlerMethodNameFromUrlPath

    protected String extractHandlerMethodNameFromUrlPath(String uri)

  Extract the handler method name from the given request URI. Delegates to `WebUtils.extractViewNameFromUrlPath(String)`.

  Parameters:
    `uri` - the request URI (e.g. "/index.html")
  Returns:
    the extracted URI filename (e.g. "index")
  See Also:
    `WebUtils.extractFilenameFromUrlPath(java.lang.String)`

### postProcessHandlerMethodName

    protected String postProcessHandlerMethodName(String methodName)

  Build the full handler method name based on the given method name as indicated by the URL path.

  The default implementation simply applies prefix and suffix. This can be overridden, for example, to manipulate upper case / lower case, etc.

  Parameters:
    `methodName` - the original method name, as indicated by the URL path
  Returns:
    the full method name to use
  See Also:
    `getPrefix()`, `getSuffix()`

The Spring Framework

Copyright © 2002-2008 The Spring Framework.