📄 localerequestwrapper.java
字号:
package com.cib.webapp.filter;import java.util.Collections;import java.util.Enumeration;import java.util.List;import java.util.Locale;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletRequestWrapper;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;/** * HttpRequestWrapper overriding methods getLocale(), getLocales() to include * the user's preferred locale. */public class LocaleRequestWrapper extends HttpServletRequestWrapper { private final transient Log log = LogFactory.getLog(LocaleRequestWrapper.class); private final Locale preferredLocale; /** * Sets preferred local to user's locale * @param decorated the current decorated request * @param userLocale the user's locale */ public LocaleRequestWrapper(final HttpServletRequest decorated, final Locale userLocale) { super(decorated); preferredLocale = userLocale; if (null == preferredLocale) { log.error("preferred locale = null, it is an unexpected value!"); } } /** * {@inheritDoc} */ public Locale getLocale() { if (null != preferredLocale) { return preferredLocale; } else { return super.getLocale(); } } /** * {@inheritDoc} */ @SuppressWarnings("unchecked") public Enumeration<Locale> getLocales() { if (null != preferredLocale) { List<Locale> l = Collections.list(super.getLocales()); if (l.contains(preferredLocale)) { l.remove(preferredLocale); } l.add(0, preferredLocale); return Collections.enumeration(l); } else { return super.getLocales(); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -