localerequestwrapper.java

来自「Java的框架」· Java 代码 · 共 60 行

JAVA
60
字号
package mcaps.core.preference.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;

/**
 * HttpRequestWrapper overriding methods getLocale(), getLocales() to include
 * the user's preferred locale.
 * @author bstan
 * @date 21-Jun-2006
 * @version 1.0.1.0
 */
public class LocaleRequestWrapper extends HttpServletRequestWrapper {

	private Locale preferredLocale;

	public LocaleRequestWrapper (HttpServletRequest decorated, Locale userLocale) {
		super (decorated);
		preferredLocale = userLocale;
	}

	public void setLocale (Locale userLocale) {
		preferredLocale = userLocale;
	}
	
	/**
	 * @see javax.servlet.ServletRequestWrapper#getLocale()
	 */
	public Locale getLocale () {
		if (null != preferredLocale) {
			return preferredLocale;
		}
		else {
			return super.getLocale ();
		}
	}

	/**
	 * @see javax.servlet.ServletRequestWrapper#getLocales()
	 */
	public Enumeration getLocales () {
		if (null != preferredLocale) {
			List 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 + =
减小字号Ctrl + -
显示快捷键?