欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-18 12:14:34
一. 前台表单直接post或get,后台以request.getparametermap()或request.getparameter()的形式接收 注意:前台,spri...

一. 前台表单直接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后台乱码的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

上一篇:

下一篇: