Package com.bytedesk.starter.config
Class BrowserLanguageFilter
java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
com.bytedesk.starter.config.BrowserLanguageFilter
- All Implemented Interfaces:
jakarta.servlet.Filter
,org.springframework.beans.factory.Aware
,org.springframework.beans.factory.BeanNameAware
,org.springframework.beans.factory.DisposableBean
,org.springframework.beans.factory.InitializingBean
,org.springframework.context.EnvironmentAware
,org.springframework.core.env.EnvironmentCapable
,org.springframework.web.context.ServletContextAware
public class BrowserLanguageFilter
extends org.springframework.web.filter.OncePerRequestFilter
浏览器语言检测过滤器
优先使用URL参数中的语言设置,其次使用浏览器语言设置,最后使用默认语言
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.springframework.web.servlet.LocaleResolver
Fields inherited from class org.springframework.web.filter.OncePerRequestFilter
ALREADY_FILTERED_SUFFIX
Fields inherited from class org.springframework.web.filter.GenericFilterBean
logger
-
Constructor Summary
ConstructorsConstructorDescriptionBrowserLanguageFilter
(org.springframework.web.servlet.LocaleResolver localeResolver) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doFilterInternal
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) private Locale
getBrowserLocale
(jakarta.servlet.http.HttpServletRequest request) 从请求中获取浏览器语言设置private Locale
parseLocale
(String localeStr) 解析语言字符串为Locale对象Methods inherited from class org.springframework.web.filter.OncePerRequestFilter
doFilter, doFilterNestedErrorDispatch, getAlreadyFilteredAttributeName, isAsyncDispatch, isAsyncStarted, shouldNotFilter, shouldNotFilterAsyncDispatch, shouldNotFilterErrorDispatch
Methods inherited from class org.springframework.web.filter.GenericFilterBean
addRequiredProperty, afterPropertiesSet, createEnvironment, destroy, getEnvironment, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setEnvironment, setServletContext
-
Field Details
-
localeResolver
private final org.springframework.web.servlet.LocaleResolver localeResolver
-
-
Constructor Details
-
BrowserLanguageFilter
public BrowserLanguageFilter(org.springframework.web.servlet.LocaleResolver localeResolver)
-
-
Method Details
-
doFilterInternal
protected void doFilterInternal(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.FilterChain filterChain) throws jakarta.servlet.ServletException, IOException - Specified by:
doFilterInternal
in classorg.springframework.web.filter.OncePerRequestFilter
- Throws:
jakarta.servlet.ServletException
IOException
-
getBrowserLocale
从请求中获取浏览器语言设置 -
parseLocale
解析语言字符串为Locale对象
-