您的位置:首页 > Web前端 > JavaScript

javax.servlet.jsp.jstl.core.Config 使用代码案例

2014-11-13 15:03 537 查看
下面的代码案例来源开源项目,你可以参考使用. 如果觉得好,请点个赞,鼓励一下。

Code Example 1:
  5 
From project alphaportal_dev, under directory
/sys-src/alphaportal/web/src/main/java/alpha/portal/webapp/filter/.

Source LocaleFilter.java

/**
* This method looks for a "locale" request parameter. If it finds one, it sets it as the preferred locale and also configures it to work with JSTL.
* @param request the current request
* @param response the current response
* @param chain the chain
* @throws IOException when something goes wrong
* @throws ServletException when a communication failure happens
*/
@Override @SuppressWarnings("unchecked") public void doFilterInternal(HttpServletRequest request,final HttpServletResponse response,final FilterChain chain) throws IOException, ServletException {
final String locale=request.getParameter("locale");
Locale preferredLocale=null;
if (locale != null) {
final int indexOfUnderscore=locale.indexOf('_');
if (indexOfUnderscore != -1) {
final String language=locale.substring(0,indexOfUnderscore);
final String country=locale.substring(indexOfUnderscore + 1);
preferredLocale=new Locale(language,country);
}
else {
preferredLocale=new Locale(locale);
}
}
final HttpSession session=request.getSession(false);
if (session != null) {
if (preferredLocale == null) {
preferredLocale=(Locale)session.getAttribute(Constants.PREFERRED_LOCALE_KEY);
}
else {
session.setAttribute(Constants.PREFERRED_LOCALE_KEY,preferredLocale);
Config.set(session,Config.FMT_LOCALE,preferredLocale);
}
if ((preferredLocale != null) && !(request instanceof LocaleRequestWrapper)) {
request=new LocaleRequestWrapper(request,preferredLocale);
LocaleContextHolder.setLocale(preferredLocale);
}
}
final String theme=request.getParameter("theme");
if ((theme != null) && request.isUserInRole(Constants.ADMIN_ROLE)) {
final Map<String,Object> config=(Map)this.getServletContext().getAttribute(Constants.CONFIG);
config.put(Constants.CSS_THEME,theme);
}
chain.doFilter(request,response);
LocaleContextHolder.setLocaleContext(null);
}

Code Example 2:

  5 
From project alphaportal_dev, under directory
/sys-src/alphaportal/web/src/test/java/alpha/portal/webapp/filter/.

Source LocaleFilterTest.java

/**
* Test jstl locale is set.
* @throws Exception the exception
*/
public void testJstlLocaleIsSet() throws Exception {
final MockHttpServletRequest request=new MockHttpServletRequest();
request.addParameter("locale","es");
final MockHttpServletResponse response=new MockHttpServletResponse();
request.setSession(new MockHttpSession(null));
this.filter.doFilter(request,response,new MockFilterChain());
Assert.assertNotNull(Config.get(request.getSession(),Config.FMT_LOCALE));
}


Code Example 3:

  

From project appfuse, under directory
/web/common/src/main/java/org/appfuse/webapp/filter/.

Source LocaleFilter.java

/**
* This method looks for a "locale" request parameter. If it finds one, it sets it as the preferred locale and also configures it to work with JSTL.
* @param request the current request
* @param response the current response
* @param chain the chain
* @throws IOException when something goes wrong
* @throws ServletException when a communication failure happens
*/
@SuppressWarnings("unchecked") public void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain chain) throws IOException, ServletException {
String locale=request.getParameter("locale");
Locale preferredLocale=null;
if (locale != null) {
int indexOfUnderscore=locale.indexOf('_');
if (indexOfUnderscore != -1) {
String language=locale.substring(0,indexOfUnderscore);
String country=locale.substring(indexOfUnderscore + 1);
preferredLocale=new Locale(language,country);
}
else {
preferredLocale=new Locale(locale);
}
}
HttpSession session=request.getSession(false);
if (session != null) {
if (preferredLocale == null) {
preferredLocale=(Locale)session.getAttribute(Constants.PREFERRED_LOCALE_KEY);
}
else {
session.setAttribute(Constants.PREFERRED_LOCALE_KEY,preferredLocale);
Config.set(session,Config.FMT_LOCALE,preferredLocale);
}
if (preferredLocale != null && !(request instanceof LocaleRequestWrapper)) {
request=new LocaleRequestWrapper(request,preferredLocale);
LocaleContextHolder.setLocale(preferredLocale);
}
}
chain.doFilter(request,response);
LocaleContextHolder.setLocaleContext(null);
}

Code Example 4:

  

From project appfuse, under directory
/web/common/src/test/java/org/appfuse/webapp/filter/.

Source LocaleFilterTest.java

public void testJstlLocaleIsSet() throws Exception {
MockHttpServletRequest request=new MockHttpServletRequest();
request.addParameter("locale","es");
MockHttpServletResponse response=new MockHttpServletResponse();
request.setSession(new MockHttpSession(null));
filter.doFilter(request,response,new MockFilterChain());
assertNotNull(Config.get(request.getSession(),Config.FMT_LOCALE));
}

Code Example 5:

  

From project appfuse_1, under directory
/web/common/src/main/java/org/appfuse/webapp/filter/.

Source LocaleFilter.java

/**
* This method looks for a "locale" request parameter. If it finds one, it sets it as the preferred locale and also configures it to work with JSTL.
* @param request the current request
* @param response the current response
* @param chain the chain
* @throws IOException when something goes wrong
* @throws ServletException when a communication failure happens
*/
@SuppressWarnings("unchecked") public void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain chain) throws IOException, ServletException {
String locale=request.getParameter("locale");
Locale preferredLocale=null;
if (locale != null) {
int indexOfUnderscore=locale.indexOf('_');
if (indexOfUnderscore != -1) {
String language=locale.substring(0,indexOfUnderscore);
String country=locale.substring(indexOfUnderscore + 1);
preferredLocale=new Locale(language,country);
}
else {
preferredLocale=new Locale(locale);
}
}
HttpSession session=request.getSession(false);
if (session != null) {
if (preferredLocale == null) {
preferredLocale=(Locale)session.getAttribute(Constants.PREFERRED_LOCALE_KEY);
}
else {
session.setAttribute(Constants.PREFERRED_LOCALE_KEY,preferredLocale);
Config.set(session,Config.FMT_LOCALE,preferredLocale);
}
if (preferredLocale != null && !(request instanceof LocaleRequestWrapper)) {
request=new LocaleRequestWrapper(request,preferredLocale);
LocaleContextHolder.setLocale(preferredLocale);
}
}
String theme=request.getParameter("theme");
if (theme != null && request.isUserInRole(Constants.ADMIN_ROLE)) {
Map<String,Object> config=(Map)getServletContext().getAttribute(Constants.CONFIG);
config.put(Constants.CSS_THEME,theme);
}
chain.doFilter(request,response);
LocaleContextHolder.setLocaleContext(null);
}

Code Example 6:

 

From project appfuse_1, under directory
/web/common/src/test/java/org/appfuse/webapp/filter/.

Source LocaleFilterTest.java

public void testJstlLocaleIsSet() throws Exception {
MockHttpServletRequest request=new MockHttpServletRequest();
request.addParameter("locale","es");
MockHttpServletResponse response=new MockHttpServletResponse();
request.setSession(new MockHttpSession(null));
filter.doFilter(request,response,new MockFilterChain());
assertNotNull(Config.get(request.getSession(),Config.FMT_LOCALE));
}

Code Example 7:

 

From project CaptureJSP, under directory
/src/main/java/com/technologicaloddity/capturejsp/util/.

Source SwallowingJspRenderer.java

public String render(String viewName,Map<String,Object> modelMap,Locale locale) throws IOException {
String result=null;
if (locale == null) {
locale=Locale.getDefault();
}
StringWriter sout=new StringWriter();
StringBuffer sbuffer=sout.getBuffer();
HttpServletRequest request=new MockIncludedHttpServletRequest();
HttpServletResponse response=new MockHttpServletResponse();
HttpServletResponse swallowingResponse=new SwallowingHttpServletResponse(response,sout,"UTF-8");
LocaleResolver localeResolver=new JspLocaleResolver();
localeResolver.setLocale(request,swallowingResponse,locale);
try {
addModelAsRequestAttributes(request,modelMap);
request.setAttribute(DispatcherServlet.LOCALE_RESOLVER_ATTRIBUTE,localeResolver);
LocalizationContext localizationContext=new LocalizationContext(null,locale);
request.setAttribute(Config.FMT_LOCALIZATION_CONTEXT + ".request",localizationContext);
request.setAttribute(Config.FMT_LOCALE,locale);
swallowingResponse.setContentType("text/html; charset=utf-8");
RequestDispatcher dispatcher=servletContext.getRequestDispatcher(viewResolver.urlForView(viewName));
dispatcher.include(request,swallowingResponse);
result=sbuffer.toString();
}
catch (  Exception e) {
throw new IOException(e);
}
return result;
}

Code Example 8:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/.

Source LDAPServlet.java

protected void doDSPost(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
String netid=request.getParameter("login_netid");
String password=request.getParameter("login_password");
String jsp=null;
int status=AuthenticationManager.authenticate(context,netid,password,null,request);
if (status == AuthenticationMethod.SUCCESS) {
Authenticate.loggedIn(context,request,context.getCurrentUser());
Locale epersonLocale=I18nUtil.getEPersonLocale(context.getCurrentUser());
context.setCurrentLocale(epersonLocale);
Config.set(request.getSession(),Config.FMT_LOCALE,epersonLocale);
log.info(LogManager.getHeader(context,"login","type=explicit"));
Authenticate.resumeInterruptedRequest(request,response);
return;
}
else   if (status == AuthenticationMethod.CERT_REQUIRED) {
jsp="/error/require-certificate.jsp";
}
else {
jsp="/login/incorrect.jsp";
}
log.info(LogManager.getHeader(context,"failed_login","netid=" + netid + ", result="+ String.valueOf(status)));
JSPManager.showJSP(request,response,jsp);
}

Code Example 9:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/servlet/.

Source PasswordServlet.java

protected void doDSPost(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
String email=request.getParameter("login_email");
String password=request.getParameter("login_password");
String jsp=null;
int status=AuthenticationManager.authenticate(context,email,password,null,request);
if (status == AuthenticationMethod.SUCCESS) {
Authenticate.loggedIn(context,request,context.getCurrentUser());
Locale epersonLocale=I18nUtil.getEPersonLocale(context.getCurrentUser());
context.setCurrentLocale(epersonLocale);
Config.set(request.getSession(),Config.FMT_LOCALE,epersonLocale);
log.info(LogManager.getHeader(context,"login","type=explicit"));
Authenticate.resumeInterruptedRequest(request,response);
return;
}
else   if (status == AuthenticationMethod.CERT_REQUIRED)   jsp="/error/require-certificate.jsp";
else   jsp="/login/incorrect.jsp";
log.info(LogManager.getHeader(context,"failed_login","email=" + email + ", result="+ String.valueOf(status)));
JSPManager.showJSP(request,response,jsp);
}

Code Example 10:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/.

Source Authenticate.java

/**
* Store information about the current user in the request and context
* @param context DSpace context
* @param request HTTP request
* @param eperson the eperson logged in
*/
public static void loggedIn(Context context,HttpServletRequest request,EPerson eperson){
HttpSession session=request.getSession();
if ((!session.isNew()) && (session.getAttribute("dspace.current.user.id") == null)) {
Locale sessionLocale=UIUtil.getSessionLocale(request);
if (ConfigurationManager.getBooleanProperty("webui.session.invalidate",true)) {
session.invalidate();
}
session=request.getSession();
if (sessionLocale != null) {
Config.set(request.getSession(),Config.FMT_LOCALE,sessionLocale);
}
}
context.setCurrentUser(eperson);
boolean isAdmin=false;
try {
isAdmin=AuthorizeManager.isAdmin(context);
}
catch (  SQLException se) {
log.warn("Unable to use AuthorizeManager " + se);
}
finally {
request.setAttribute("is.admin",new Boolean(isAdmin));
}
request.setAttribute("dspace.current.user",eperson);
session.setAttribute("dspace.current.user.id",new Integer(eperson.getID()));
session.setAttribute("dspace.current.remote.addr",request.getRemoteAddr());
}

Code Example 11:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/.

Source Authenticate.java

/**
* Log the user out
* @param context DSpace context
* @param request HTTP request
*/
public static void loggedOut(Context context,HttpServletRequest request){
HttpSession session=request.getSession();
context.setCurrentUser(null);
request.removeAttribute("is.admin");
request.removeAttribute("dspace.current.user");
session.removeAttribute("dspace.current.user.id");
Locale sessionLocale=UIUtil.getSessionLocale(request);
if (ConfigurationManager.getBooleanProperty("webui.session.invalidate",true)) {
session.invalidate();
}
if (sessionLocale != null) {
Config.set(request.getSession(),Config.FMT_LOCALE,sessionLocale);
}
}

Code Example 12:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/.

Source UIUtil.java

/**
* Obtain a new context object. If a context object has already been created for this HTTP request, it is re-used, otherwise it is created. If a user has authenticated with the system, the current user of the context is set appropriately.
* @param request the HTTP request
* @return a context object
*/
public static Context obtainContext(HttpServletRequest request) throws SQLException {
try {
if (request.getCharacterEncoding() == null)     request.setCharacterEncoding(Constants.DEFAULT_ENCODING);
}
catch (  Exception e) {
log.error("Unable to set encoding to UTF-8.",e);
}
Context c=(Context)request.getAttribute("dspace.context");
if (c == null) {
c=new Context();
HttpSession session=request.getSession();
Integer userID=(Integer)session.getAttribute("dspace.current.user.id");
if (userID != null) {
String remAddr=(String)session.getAttribute("dspace.current.remote.addr");
if (remAddr != null && remAddr.equals(request.getRemoteAddr())) {
EPerson e=EPerson.find(c,userID.intValue());
Authenticate.loggedIn(c,request,e);
}
else {
log.warn("POSSIBLE HIJACKED SESSION: request from " + request.getRemoteAddr() + " does not match original "+ "session address: "+ remAddr+ ". Authentication rejected.");
}
}
int[] groupIDs=AuthenticationManager.getSpecialGroups(c,request);
for (int i=0; i < groupIDs.length; i++) {
c.setSpecialGroup(groupIDs[i]);
log.debug("Adding Special Group id=" + String.valueOf(groupIDs[i]));
}
c.setExtraLogInfo("session_id=" + request.getSession().getId() + ":ip_addr="+ request.getRemoteAddr());
request.setAttribute("dspace.context",c);
}
Locale sessionLocale=getSessionLocale(request);
Config.set(request.getSession(),Config.FMT_LOCALE,sessionLocale);
c.setCurrentLocale(sessionLocale);
return c;
}

Code Example 13:

 

From project Corisco, under directory
/dspace-1.6.2-src-release-corisco-1/dspace-jspui/dspace-jspui-api/src/main/java/org/dspace/app/webui/util/.

Source UIUtil.java

/**
* Get the Locale for a session according to the user's language selection or language preferences. Order of selection - language selected via UI - language as set by application - language browser default
* @param request the request Object
* @return supportedLocaleLocale supported by this DSpace Instance for this request
*/
public static Locale getSessionLocale(HttpServletRequest request){
String paramLocale=request.getParameter("locale");
Locale sessionLocale=null;
Locale supportedLocale=null;
if (paramLocale != null && paramLocale != "") {
sessionLocale=new Locale(paramLocale);
}
if (sessionLocale == null) {
HttpSession session=request.getSession();
sessionLocale=(Locale)Config.get(session,Config.FMT_LOCALE);
}
if (sessionLocale == null) {
sessionLocale=request.getLocale();
}
if (sessionLocale == null) {
sessionLocale=I18nUtil.DEFAULTLOCALE;
}
supportedLocale=I18nUtil.getSupportedLocale(sessionLocale);
return supportedLocale;
}

Code Example 14:

 

From project DICE, under directory
/jgossip/src/org/jresearch/gossip/filters/.

Source SetCharacterEncodingFilter.java

/**
* Select and set (if specified) the character encoding to be used to interpret request parameters for this request.
* @param request The servlet request we are processing
* @param result The servlet response we are creating
* @param chain The filter chain we are processing
* @exception IOException if an input/output error occurs
* @exception ServletException if a servlet error occurs
*/
public void doFilter(ServletRequest request,ServletResponse response,FilterChain chain) throws IOException, ServletException {
if (ignore || (request.getCharacterEncoding() == null)) {
String encoding=selectEncoding(request);
if (encoding != null) {
request.setCharacterEncoding(encoding);
}
}
HttpSession session=((HttpServletRequest)request).getSession(true);
Locale locale=(Locale)session.getAttribute(Globals.LOCALE_KEY);
if (locale == null) {
locale=request.getLocale();
}
Config.set(session,Config.FMT_LOCALE,locale);
chain.doFilter(request,response);
}

Code Example 15:

 

From project DSpace, under directory
/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/.

Source LDAPServlet.java

protected void doDSPost(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
String netid=request.getParameter("login_netid");
String password=request.getParameter("login_password");
String jsp=null;
int status=AuthenticationManager.authenticate(context,netid,password,null,request);
if (status == AuthenticationMethod.SUCCESS) {
Authenticate.loggedIn(context,request,context.getCurrentUser());
Locale epersonLocale=I18nUtil.getEPersonLocale(context.getCurrentUser());
context.setCurrentLocale(epersonLocale);
Config.set(request.getSession(),Config.FMT_LOCALE,epersonLocale);
log.info(LogManager.getHeader(context,"login","type=explicit"));
Authenticate.resumeInterruptedRequest(request,response);
return;
}
else   if (status == AuthenticationMethod.CERT_REQUIRED) {
jsp="/error/require-certificate.jsp";
}
else {
jsp="/login/ldap-incorrect.jsp";
}
log.info(LogManager.getHeader(context,"failed_login","netid=" + netid + ", result="+ String.valueOf(status)));
JSPManager.showJSP(request,response,jsp);
}

Code Example 16:

 

From project DSpace, under directory
/dspace-jspui/src/main/java/org/dspace/app/webui/servlet/.

Source PasswordServlet.java

protected void doDSPost(Context context,HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException {
String email=request.getParameter("login_email");
String password=request.getParameter("login_password");
String jsp=null;
int status=AuthenticationManager.authenticate(context,email,password,null,request);
if (status == AuthenticationMethod.SUCCESS) {
Authenticate.loggedIn(context,request,context.getCurrentUser());
Locale epersonLocale=I18nUtil.getEPersonLocale(context.getCurrentUser());
context.setCurrentLocale(epersonLocale);
Config.set(request.getSession(),Config.FMT_LOCALE,epersonLocale);
log.info(LogManager.getHeader(context,"login","type=explicit"));
Authenticate.resumeInterruptedRequest(request,response);
return;
}
else   if (status == AuthenticationMethod.CERT_REQUIRED) {
jsp="/error/require-certificate.jsp";
}
else {
jsp="/login/incorrect.jsp";
}
log.info(LogManager.getHeader(context,"failed_login","email=" + email + ", result="+ String.valueOf(status)));
JSPManager.showJSP(request,response,jsp);
}

Code Example 17:

 

From project DSpace, under directory
/dspace-jspui/src/main/java/org/dspace/app/webui/util/.

Source Authenticate.java

/**
* Store information about the current user in the request and context
* @param context DSpace context
* @param request HTTP request
* @param eperson the eperson logged in
*/
public static void loggedIn(Context context,HttpServletRequest request,EPerson eperson){
HttpSession session=request.getSession();
if ((!session.isNew()) && (session.getAttribute("dspace.current.user.id") == null)) {
Locale sessionLocale=UIUtil.getSessionLocale(request);
RequestInfo requestInfo=(RequestInfo)session.getAttribute("interrupted.request.info");
String requestUrl=(String)session.getAttribute("interrupted.request.url");
if (ConfigurationManager.getBooleanProperty("webui.session.invalidate",true)) {
session.invalidate();
}
session=request.getSession();
if (sessionLocale != null) {
Config.set(request.getSession(),Config.FMT_LOCALE,sessionLocale);
}
if (requestInfo != null && requestUrl != null) {
session.setAttribute("interrupted.request.info",requestInfo);
session.setAttribute("interrupted.request.url",requestUrl);
}
}
context.setCurrentUser(eperson);
boolean isAdmin=false;
try {
isAdmin=AuthorizeManager.isAdmin(context);
}
catch (  SQLException se) {
log.warn("Unable to use AuthorizeManager " + se);
}
finally {
request.setAttribute("is.admin",Boolean.valueOf(isAdmin));
}
request.setAttribute("dspace.current.user",eperson);
session.setAttribute("dspace.current.user.id",Integer.valueOf(eperson.getID()));
session.setAttribute("dspace.current.remote.addr",request.getRemoteAddr());
}

Code Example 18:

 

From project DSpace, under directory
/dspace-jspui/src/main/java/org/dspace/app/webui/util/.

Source Authenticate.java

/**
* Log the user out
* @param context DSpace context
* @param request HTTP request
*/
public static void loggedOut(Context context,HttpServletRequest request){
HttpSession session=request.getSession();
context.setCurrentUser(null);
request.removeAttribute("is.admin");
request.removeAttribute("dspace.current.user");
session.removeAttribute("dspace.current.user.id");
Locale sessionLocale=UIUtil.getSessionLocale(request);
if (ConfigurationManager.getBooleanProperty("webui.session.invalidate",true)) {
session.invalidate();
}
if (sessionLocale != null) {
Config.set(request.getSession(),Config.FMT_LOCALE,sessionLocale);
}
}

Code Example 19:

 

From project DSpace, under directory
/dspace-jspui/src/main/java/org/dspace/app/webui/util/.

Source UIUtil.java

/**
* Get the Locale for a session according to the user's language selection or language preferences. Order of selection - language selected via UI - language as set by application - language browser default
* @param request the request Object
* @return supportedLocaleLocale supported by this DSpace Instance for this request
*/
public static Locale getSessionLocale(HttpServletRequest request){
String paramLocale=request.getParameter("locale");
Locale sessionLocale=null;
Locale supportedLocale=null;
if (!StringUtils.isEmpty(paramLocale)) {
sessionLocale=new Locale(paramLocale);
}
if (sessionLocale == null) {
HttpSession session=request.getSession();
sessionLocale=(Locale)Config.get(session,Config.FMT_LOCALE);
}
if (sessionLocale == null) {
sessionLocale=request.getLocale();
}
if (sessionLocale == null) {
sessionLocale=I18nUtil.DEFAULTLOCALE;
}
supportedLocale=I18nUtil.getSupportedLocale(sessionLocale);
return supportedLocale;
}

Code Example 20:

 

From project gisgraphy-mirror, under directory
/gisgraphy/src/main/java/com/gisgraphy/webapp/filter/.

Source LocaleFilter.java

/**
* This method looks for a "locale" request parameter. If it finds one, it sets it as the preferred locale and also configures it to work with JSTL.
* @param request the current request
* @param response the current response
* @param chain the chain
* @throws IOException when something goes wrong
* @throws ServletException when a communication failure happens
*/
@Override @SuppressWarnings("unchecked") public void doFilterInternal(HttpServletRequest request,HttpServletResponse response,FilterChain chain) throws IOException, ServletException {
String locale=request.getParameter("locale");
Locale preferredLocale=null;
if (locale != null) {
int indexOfUnderscore=locale.indexOf('-');
if (indexOfUnderscore != -1) {
String language=locale.substring(0,indexOfUnderscore);
String country=locale.substring(indexOfUnderscore + 1);
preferredLocale=new Locale(language,country);
}
else {
preferredLocale=new Locale(locale);
}
}
HttpSession session=request.getSession(false);
if (session != null) {
if (preferredLocale == null) {
preferredLocale=(Locale)session.getAttribute(Constants.PREFERRED_LOCALE_KEY);
}
else {
session.setAttribute(Constants.PREFERRED_LOCALE_KEY,preferredLocale);
Config.set(session,Config.FMT_LOCALE,preferredLocale);
}
if (preferredLocale != null && !(request instanceof LocaleRequestWrapper)) {
request=new LocaleRequestWrapper(request,preferredLocale);
LocaleContextHolder.setLocale(preferredLocale);
}
}
String theme=request.getParameter("theme");
if (theme != null && request.isUserInRole(Constants.ADMIN_ROLE)) {
Map<String,Object> config=(Map)getServletContext().getAttribute(Constants.CONFIG);
config.put(Constants.CSS_THEME,theme);
}
chain.doFilter(request,response);
LocaleContextHolder.setLocaleContext(null);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐