| | |
| | | package com.xiaopeng.vehicleConvoy.config; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.servlet.LocaleResolver; |
| | | |
| | | import javax.servlet.ServletInputStream; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.BufferedReader; |
| | | import java.io.InputStreamReader; |
| | | import java.util.Locale; |
| | | |
| | | public class MyLocaleResolver implements LocaleResolver { |
| | | |
| | | @Override |
| | | public Locale resolveLocale(HttpServletRequest request) { |
| | | //1=中文,2=英文,3=印尼文 |
| | | //1=Chinese, 2=English, 3=Indonesian. |
| | | String language = getQueryParams(request, "language"); |
| | | |
| | | Locale locale = null; |
| | | if (StringUtils.isEmpty(language)) { |
| | | locale = Locale.getDefault(); |
| | | language = "1"; |
| | | } |
| | | //如果请求不为空 |
| | | //If the request is not empty. |
| | | if(!StringUtils.isEmpty(language)){ |
| | | if (language.equals("1")) { |
| | | locale = new Locale("zh", "CN"); |
| | | } else if (language.equals("2")) { |
| | | locale = new Locale("en", "US"); |
| | | } |
| | | } |
| | | return locale; |
| | | } |
| | | |
| | | @Override |
| | | public void setLocale(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Locale locale) { |
| | | } |
| | | |
| | | |
| | | public String getQueryParams(HttpServletRequest request, String key) { |
| | | try { |
| | | String method = request.getMethod(); |
| | | if("POST".equals(method)){ |
| | | String parameter = request.getParameter(key); |
| | | if(!StringUtils.isEmpty(parameter)){ |
| | | return parameter; |
| | | } |
| | | Object attribute = request.getAttribute(key); |
| | | if(null != attribute){ |
| | | return attribute.toString(); |
| | | } |
| | | StringBuffer sb = new StringBuffer(); |
| | | ServletInputStream inputStream = request.getInputStream(); |
| | | BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8")); |
| | | String s; |
| | | while ((s = bufferedReader.readLine()) != null){ |
| | | sb.append(s); |
| | | } |
| | | bufferedReader.close(); |
| | | inputStream.close(); |
| | | JSONObject jsonObject = JSON.parseObject(sb.toString()); |
| | | return jsonObject.getString(key); |
| | | }else{ |
| | | String parameter = request.getParameter(key); |
| | | if(!StringUtils.isEmpty(parameter)){ |
| | | return parameter; |
| | | } |
| | | Object attribute = request.getAttribute(key); |
| | | if(null != attribute){ |
| | | return attribute.toString(); |
| | | } |
| | | } |
| | | }catch (Exception e){ |
| | | e.printStackTrace(); |
| | | } |
| | | return null; |
| | | } |
| | | } |