一. 前台表单直接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