重定向无法传递中文参数的问题

哇,这个BUG找了我半天,也不报错,中文参数就是传不过去,代码如下:

 

return “redirect:/login?msg="+"用户名或密码有误!";

 

①方案一:

这里的中文被接收的时候总是为空,改成下面这样可解决问题:

return new ModelAndView("redirect:login").addObject("msg", "用户名或密码有误!");

 

②方案二:

二〇一八年九月二十九日 08:57:07:

自己给自己挖了个坑,第一种方案解决的话会导致Session里面的内容被清空,后面的代码又出了BUG,回头再仔细一看,原来是编码格式问题,于是有了下面的解决方法(将要发送的字符串转换为iso-8859-1格式的即可):

String message = "用户名或密码有误!";

message = new String(message.getBytes("utf-8"),"iso-8859-1");

return "redirect:login?msg="+message;

 

posted @ 2018-09-19 08:53  Kingram  阅读(949)  评论(0编辑  收藏  举报