package com.bstek.dorado.sample.basic;
import java.util.Locale;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.lang.StringUtils;
import com.bstek.dorado.web.DoradoContext;
/**
*
* @类名称 LocaleResolver.java
* @类描述 <pre></pre>
* @作者 xingsfdz xingsfdz@163.com
* @创建时间 2019-6-2 上午12:23:11
* @版本 1.00
*
* @修改记录
* <pre>
* 版本 修改人 修改日期 修改内容描述
* ----------------------------------------------
* 1.00 xingsfdz 2019-6-2
* ----------------------------------------------
* </pre>
*/
public class LocaleResolver implements
com.bstek.dorado.core.resource.LocaleResolver {
private final static String CURRENT_LOCALE_KEY = "com.bstek.dorado.sample.CurrentLocale";
public Locale resolveLocale() throws Exception {
Locale locale = null;
HttpServletRequest request = DoradoContext.getAttachedRequest();
boolean isView = request.getRequestURI().endsWith(".d");
// locale = new Locale("zh", "CN");
// locale = new Locale("en", "US");// zh_CN
if (isView) {
String localeParam = request.getParameter("locale");
if (StringUtils.isNotEmpty(localeParam)) {
locale = new Locale(StringUtils.substringBefore(localeParam,
"_"), StringUtils.substringAfter(localeParam, "_"));
}
request.getSession().setAttribute(CURRENT_LOCALE_KEY, locale);
} else {
locale = (Locale) request.getSession().getAttribute(
CURRENT_LOCALE_KEY);
}
if (locale == null) {
locale = request.getLocale();
}
System.out.println("===================================" + locale);
return locale;
}
}