服务器之家

服务器之家 > 正文

解决表单post,get到springMVC后台乱码的问题

时间:2021-03-17 14:30     来源/作者:Cao_Song

一. 前台表单直接post或get,后台以request.getParameterMap()或request.getParameter()的形式接收

注意:前台,springmvc过滤器,以及jsp,编译器编码全部以utf-8为例

以request.getParameterMap()为例

注意:这里是一个从HttpServletRequest中获取参数的方法,至于request则是从类似于

?
1
2
@RequestMapping("/tradePortal/ReceiveCommands")
public ModelAndView receiveCommands(HttpServletRequest request, HttpServletResponse response){}

这样的方法中获取

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public static Map<String,String> getParamters(HttpServletRequest request){
    logger.info("开始获取请求参数");
    Map<?,?> paramterMap = request.getParameterMap();
    Map<String ,String> paraMap = new ConcurrentHashMap<String, String>();
    for (Map.Entry entry :
        paramterMap.entrySet()) {
      if (Array.getLength(entry.getValue())<1||StringUtil.isEmpty(((String)(Array.get(entry.getValue(),0))))){
        paraMap.put((String)entry.getKey(),null);
      }else {
        if (request.getMethod().equalsIgnoreCase("get")){
          try {
            paraMap.put((String)entry.getKey(),new String(((String)(Array.get(entry.getValue(),0))).getBytes("ISO-8859-1"),"utf-8"));
          } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
          }
        }else {
          paraMap.put((String)entry.getKey(),(String)(Array.get(entry.getValue(),0)));
        }
      }
    }
    logger.info("参数获取完毕。参数为:"+ JSON.toJSONString(paraMap));
    return paraMap;
  }

以上这篇解决表单post,get到springMVC后台乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:http://blog.csdn.net/Cao_Song/article/details/79005387

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部