首先jsp表單里面有一些參數要傳到controller中,通過以下方法接收:
- @RequestMapping(value="/orderPaper")
- public ModelAndView orderPaper(
- @RequestParam("paperName")String paperName,
- @RequestParam("openStartTime")String openStartTime,
- @RequestParam("openEndTime")String openEndTime ) {
- ModelAndView mv = new ModelAndView();
- mv.addObject("paperName", paperName); //這里面傳過來的是中文,接收到的是一堆笑得很開心的的亂碼
- mv.setViewName("/college/orderPaper");
- return mv;
- }
怎么處理呢?通過下面的工具類:
- public class EncodingTool {
- public static String encodeStr(String str) {
- try {
- return new String(str.getBytes("ISO-8859-1"), "UTF-8");
- } catch (UnsupportedEncodingException e) {
- e.printStackTrace();
- return null;
- }
- }
- }
這樣,只要把controller中改為
- mv.addObject("paperName",EncodingTool.encodeStr(paperName));
在網上有的說還需要在web.xml里面配置:
- <!-- 字符過濾器 -->
- <filter>
- <filter-name>encodingFilter</filter-name>
- <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
- <init-param>
- <param-name>encoding</param-name>
- <param-value>UTF-8</param-value>
- </init-param>
- </filter>
- <filter-mapping>
- <filter-name>encodingFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>