The Spring Framework

## org.springframework.web.servlet.view
Class DefaultRequestToViewNameTranslator

    java.lang.Object
      org.springframework.web.servlet.view.DefaultRequestToViewNameTranslator

All Implemented Interfaces:
  RequestToViewNameTranslator

    public class DefaultRequestToViewNameTranslator

extends Object
implements RequestToViewNameTranslator

`RequestToViewNameTranslator` that simply transforms the URI of the incoming request into a view name.

Can be explicitly defined as the "viewNameTranslator" bean in a `DispatcherServlet` context. Otherwise, a plain default instance will be used.

The default transformation simply strips the leading slash and file extension of the URI and returns the result as the view name with the configured `"prefix"` and a `"suffix"` added as appropriate.

The stripping of the leading slash and file extension can be disabled using the `"stripLeadingSlash"` and `"stripExtension"` properties, respectively.

Find below some examples of request to view name translation.

    http://localhost:8080/gamecast/display.html -> display
     http://localhost:8080/gamecast/displayShoppingCart.html -> displayShoppingCart
     http://localhost:8080/gamecast/admin/index.html -> admin/index

Since:
  2.0
Author:
  Rob Harrop, Juergen Hoeller
See Also:
  `RequestToViewNameTranslator`, `ViewResolver`

Constructor Summary
`DefaultRequestToViewNameTranslator()`

Method Summary
`String` `getViewName(HttpServletRequest request)` Translates the request URI of the incoming `HttpServletRequest` into the view name based on the configured parameters.
`void` `setAlwaysUseFullPath(boolean alwaysUseFullPath)` Set if URL lookup should always use the full path within the current servlet context.
`void` `setPrefix(String prefix)` Set the prefix to prepend to generated view names.
`void` `setSeparator(String separator)` Set the value that will replace '`/`' as the separator in the view name.
`void` `setStripExtension(boolean stripExtension)` Set whether or not file extensions should be stripped from the URI when generating the view name.
`void` `setStripLeadingSlash(boolean stripLeadingSlash)` Set whether or not leading slashes should be stripped from the URI when generating the view name.
`void` `setSuffix(String suffix)` Set the suffix to append to generated view names.
`void` `setUrlDecode(boolean urlDecode)` Set if the context path and request URI should be URL-decoded.
`void` `setUrlPathHelper(UrlPathHelper urlPathHelper)` Set the `UrlPathHelper` to use for the resolution of lookup paths.
`protected String` `transformPath(String lookupPath)` Transform the request URI (in the context of the webapp) stripping slashes and extensions, and replacing the separator as required.

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

Constructor Detail

### DefaultRequestToViewNameTranslator

    public DefaultRequestToViewNameTranslator()

Method Detail

### setPrefix

    public void setPrefix(String prefix)

  Set the prefix to prepend to generated view names.

  Parameters:
    `prefix` - the prefix to prepend to generated view names

### setSuffix

    public void setSuffix(String suffix)

  Set the suffix to append to generated view names.

  Parameters:
    `suffix` - the suffix to append to generated view names

### setSeparator

    public void setSeparator(String separator)

  Set the value that will replace '`/`' as the separator in the view name. The default behavior simply leaves '`/`' as the separator.

  Parameters:
    `separator` - the desired separator value

### setStripLeadingSlash

    public void setStripLeadingSlash(boolean stripLeadingSlash)

  Set whether or not leading slashes should be stripped from the URI when generating the view name. Default is "true".

  Parameters:
    `stripLeadingSlash` - `true` if leading slashes are to be stripped

### setStripExtension

    public void setStripExtension(boolean stripExtension)

  Set whether or not file extensions should be stripped from the URI when generating the view name. Default is "true".

  Parameters:
    `stripExtension` - `true` if file extensions should be stripped

### setAlwaysUseFullPath

    public void setAlwaysUseFullPath(boolean alwaysUseFullPath)

  Set if URL lookup should always use the full path within the current servlet context. Else, the path within the current servlet mapping is used if applicable (i.e. in the case of a ".../*" servlet mapping in web.xml). Default is "false".

  Parameters:
    `alwaysUseFullPath` - `true` if URL lookup should always use the full path
  See Also:
    `UrlPathHelper.setAlwaysUseFullPath(boolean)`

### setUrlDecode

    public void setUrlDecode(boolean urlDecode)

  Set if the context path and request URI should be URL-decoded. Both are returned undecoded by the Servlet API, in contrast to the servlet path.

  Uses either the request encoding or the default encoding according to the Servlet spec (ISO-8859-1).

  See Also:
    `UrlPathHelper.setUrlDecode(boolean)`

### setUrlPathHelper

    public void setUrlPathHelper(UrlPathHelper urlPathHelper)

  Set the `UrlPathHelper` to use for the resolution of lookup paths.

  Use this to override the default UrlPathHelper with a custom subclass, or to share common UrlPathHelper settings across multiple web components.

  Parameters:
    `urlPathHelper` - the desired helper
  Throws:
    `IllegalArgumentException` - if the supplied UrlPathHelper is `null`

### getViewName

    public String getViewName(HttpServletRequest request)

  Translates the request URI of the incoming `HttpServletRequest` into the view name based on the configured parameters.

  Specified by:
    `getViewName` in interface `RequestToViewNameTranslator`
  Parameters:
    `request` - the incoming `HttpServletRequest` providing the context from which a view name is to be resolved
  Returns:
    the view name (or `null` if no default found)
  See Also:
    `UrlPathHelper.getLookupPathForRequest(javax.servlet.http.HttpServletRequest)`, `transformPath(java.lang.String)`

### transformPath

    protected String transformPath(String lookupPath)

  Transform the request URI (in the context of the webapp) stripping slashes and extensions, and replacing the separator as required.

  Parameters:
    `lookupPath` - the lookup path for the current request, as determined by the UrlPathHelper
  Returns:
    the transformed path, with slashes and extensions stripped if desired

The Spring Framework

Copyright © 2002-2008 The Spring Framework.