类 LocaleChangeInterceptor
- java.lang.Object
- org.springframework.web.servlet.handler.HandlerInterceptorAdapter
- org.springframework.web.servlet.i18n.LocaleChangeInterceptor
- 所有已实现的接口:
AsyncHandlerInterceptor,HandlerInterceptor
public class LocaleChangeInterceptor extends HandlerInterceptorAdapter
Interceptor that allows for changing the current locale on every request, via a configurable request parameter (default parameter name: "locale").- 从以下版本开始:
- 20.06.2003
- 作者:
- Juergen Hoeller, Rossen Stoyanchev
- 另请参阅:
LocaleResolver
字段概要
字段 修饰符和类型 字段 说明 static StringDEFAULT_PARAM_NAMEDefault name of the locale specification parameter: "locale".protected Loglogger
构造器概要
构造器 构造器 说明 LocaleChangeInterceptor()
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 String[]getHttpMethods()Return the configured HTTP methods.StringgetParamName()Return the name of the parameter that contains a locale specification in a locale change request.booleanisIgnoreInvalidLocale()Return whether to ignore an invalid value for the locale parameter.booleanisLanguageTagCompliant()Return whether to use BCP 47 language tags instead of Java's legacy locale specification format.protected LocaleparseLocaleValue(String locale)Parse the given locale value as coming from a request parameter.booleanpreHandle(HttpServletRequest request, HttpServletResponse response, Object handler)This implementation always returnstrue.voidsetHttpMethods(String... httpMethods)Configure the HTTP method(s) over which the locale can be changed.voidsetIgnoreInvalidLocale(boolean ignoreInvalidLocale)Set whether to ignore an invalid value for the locale parameter.voidsetLanguageTagCompliant(boolean languageTagCompliant)Specify whether to parse request parameter values as BCP 47 language tags instead of Java's legacy locale specification format.voidsetParamName(String paramName)Set the name of the parameter that contains a locale specification in a locale change request.从类继承的方法 org.springframework.web.servlet.handler.HandlerInterceptorAdapter
afterCompletion, afterConcurrentHandlingStarted, postHandle
字段详细资料
DEFAULT_PARAM_NAME
public static final String DEFAULT_PARAM_NAME
Default name of the locale specification parameter: "locale".- 另请参阅:
- 常量字段值
构造器详细资料
LocaleChangeInterceptor
public LocaleChangeInterceptor()
方法详细资料
setParamName
public void setParamName(String paramName)
Set the name of the parameter that contains a locale specification in a locale change request. Default is "locale".
getParamName
public String getParamName()
Return the name of the parameter that contains a locale specification in a locale change request.
setHttpMethods
public void setHttpMethods(String... httpMethods)
Configure the HTTP method(s) over which the locale can be changed.- 参数:
httpMethods- the methods- 从以下版本开始:
- 4.2
getHttpMethods
public String[] getHttpMethods()
Return the configured HTTP methods.- 从以下版本开始:
- 4.2
setIgnoreInvalidLocale
public void setIgnoreInvalidLocale(boolean ignoreInvalidLocale)
Set whether to ignore an invalid value for the locale parameter.- 从以下版本开始:
- 4.2.2
isIgnoreInvalidLocale
public boolean isIgnoreInvalidLocale()
Return whether to ignore an invalid value for the locale parameter.- 从以下版本开始:
- 4.2.2
setLanguageTagCompliant
public void setLanguageTagCompliant(boolean languageTagCompliant)
Specify whether to parse request parameter values as BCP 47 language tags instead of Java's legacy locale specification format. The default isfalse.Note: This mode requires JDK 7 or higher. Set this flag to
truefor BCP 47 compliance on JDK 7+ only.- 从以下版本开始:
- 4.3
- 另请参阅:
Locale.forLanguageTag(String),Locale.toLanguageTag()
isLanguageTagCompliant
public boolean isLanguageTagCompliant()
Return whether to use BCP 47 language tags instead of Java's legacy locale specification format.- 从以下版本开始:
- 4.3
preHandle
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws ServletException
从类复制的说明:HandlerInterceptorAdapterThis implementation always returnstrue.- 指定者:
preHandle在接口中HandlerInterceptor- 覆盖:
preHandle在类中HandlerInterceptorAdapter- 参数:
request- current HTTP requestresponse- current HTTP responsehandler- chosen handler to execute, for type and/or instance evaluation- 返回:
trueif the execution chain should proceed with the next interceptor or the handler itself. Else, DispatcherServlet assumes that this interceptor has already dealt with the response itself.- 抛出:
ServletException
parseLocaleValue
@UsesJava7 protected Locale parseLocaleValue(String locale)
Parse the given locale value as coming from a request parameter.The default implementation calls
StringUtils.parseLocaleString(String)or JDK 7'sLocale.forLanguageTag(String), depending on the"languageTagCompliant"configuration property.- 参数:
locale- the locale value to parse- 返回:
- the corresponding
Localeinstance - 从以下版本开始:
- 4.3