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

    Fields
    Modifier and Type
    Field
    Description
    private 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

    Constructors
    Constructor
    Description
    BrowserLanguageFilter(org.springframework.web.servlet.LocaleResolver localeResolver)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 class org.springframework.web.filter.OncePerRequestFilter
      Throws:
      jakarta.servlet.ServletException
      IOException
    • getBrowserLocale

      private Locale getBrowserLocale(jakarta.servlet.http.HttpServletRequest request)
      从请求中获取浏览器语言设置
    • parseLocale

      private Locale parseLocale(String localeStr)
      解析语言字符串为Locale对象