package com.fgkj.Filters;
|
|
import java.util.Locale;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequestWrapper;
|
import javax.servlet.http.HttpSession;
|
|
public class MyRequestWrapper extends HttpServletRequestWrapper{
|
private Locale locale = null;
|
|
public MyRequestWrapper(HttpServletRequest request) {
|
super(request);
|
HttpSession session = request.getSession();
|
locale = (Locale) session.getAttribute("WW_TRANS_I18N_LOCALE");
|
}
|
|
/**
|
* struts2的BUG,如果重定向的话,国际化默认取HTTP请求头中的参数 替换HTTP请求参数
|
**/
|
@Override
|
public String getHeader(String name) {
|
String value = super.getHeader(name);
|
System.out.println(value);
|
if ("Accept-Language".equals(name) && locale != null) {
|
value = locale.getLanguage() + "_" + locale.getCountry()
|
+ value.substring(6, value.length());
|
}
|
return value;
|
}
|
|
@Override
|
public Locale getLocale() {
|
if (locale != null) {
|
return locale;
|
}
|
return super.getLocale();
|
}
|
}
|