zoukankan      html  css  js  c++  java
  • Springmvc中@RequestParam传值中文乱码解决方案

    首先jsp表单里面有一些参数要传到controller中,通过以下方法接收: 
    Java代码  收藏代码
    1. @RequestMapping(value="/orderPaper")  
    2.     public ModelAndView orderPaper(   
    3.             @RequestParam("paperName")String paperName,  
    4.             @RequestParam("openStartTime")String openStartTime,   
    5.             @RequestParam("openEndTime")String openEndTime ) {  
    6.         ModelAndView mv = new ModelAndView();  
    7. mv.addObject("paperName", paperName);    //这里面传过来的是中文,接收到的是一堆笑得很开心的的乱码  
    8.         mv.setViewName("/college/orderPaper");  
    9.         return mv;  
    10.     }  

    怎么处理呢?通过下面的工具类: 
    Java代码  收藏代码
    1. public class EncodingTool {  
    2.     public static String encodeStr(String str) {  
    3.         try {  
    4.             return new String(str.getBytes("ISO-8859-1"), "UTF-8");  
    5.         } catch (UnsupportedEncodingException e) {  
    6.             e.printStackTrace();  
    7.             return null;  
    8.         }  
    9.     }  
    10. }  

    这样,只要把controller中改为
    Java代码  收藏代码
    1. mv.addObject("paperName",EncodingTool.encodeStr(paperName));   


    在网上有的说还需要在web.xml里面配置: 
    Java代码  收藏代码
    1. <!-- 字符过滤器 -->  
    2.   <filter>  
    3.     <filter-name>encodingFilter</filter-name>  
    4.     <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>  
    5.     <init-param>  
    6.         <param-name>encoding</param-name>  
    7.         <param-value>UTF-8</param-value>  
    8.     </init-param>  
    9.   </filter>  
    10.   <filter-mapping>  
    11.     <filter-name>encodingFilter</filter-name>  
    12.     <url-pattern>/*</url-pattern>  
    13.   </filter-mapping>  

    我试过,其实不配置也能把爱笑的乱码解决! 
  • 相关阅读:
    【C++】C++中的流
    【C++】C++中类的基本使用
    【Python】解析Python中的条件语句和循环语句
    【C++】C++中的分离式编译
    【C++】C++中assert和ENDEGU预处理语句
    【C++】C++中的函数的基本使用
    【算法】解析IEEE 754 标准
    【ThinkPHP】解析ThinkPHP5创建模块
    【C++】C++中的迭代器
    【算法】解析位运算
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13317898.html
Copyright © 2011-2022 走看看