解决表单post,get到springMVC后台乱码的问题
作者:Cao_Song
下面小编就为大家分享一篇解决表单post,get到springMVC后台乱码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
一. 前台表单直接post或get,后台以request.getParameterMap()或request.getParameter()的形式接收
注意:前台,springmvc过滤器,以及jsp,编译器编码全部以utf-8为例
以request.getParameterMap()为例
注意:这里是一个从HttpServletRequest中获取参数的方法,至于request则是从类似于
@RequestMapping("/tradePortal/ReceiveCommands") public ModelAndView receiveCommands(HttpServletRequest request, HttpServletResponse response){}
这样的方法中获取
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后台乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 为spring get请求添加自定义的参数处理操作(如下划线转驼峰)
- SpringBoot RestTemplate GET POST请求的实例讲解
- Springboot源码 TargetSource解析
- spring中通过ApplicationContext getBean获取注入对象的方法实例
- spring中FactoryBean中的getObject()方法实例解析
- spring cloud feign不支持@RequestBody+ RequestMethod.GET报错的解决方法
- SpringBoot构建Restful service完成Get和Post请求
- SpringMvc自动装箱及GET请求参数原理解析