【Spring學習筆記-MVC-16】Spring MVC之重定向-解決中文亂碼

概述


spring MVC框架controller間跳轉,需重定向,主要有以下三種:


前臺index.jsp





不帶參數跳轉



    /**
     * 不帶參數的重定向
     * 
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/myRedirectWithoutArgs")
    public String myRedirectWithoutArgs(ModelMap mmMap) throws Exception {
        System.out.println("在myRedirectWithoutArgs()方法內...");
        mmMap.addAttribute("msg""不帶參數的重定向");
        return "index";
    }  




帶參數拼接url形式跳轉




    /**
     * 帶參數的重定向--拼接URL
     * 
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/myRedirectWithArgsURL")
    public String myRedirectWithArgsURL(ModelMap mmMap, Person p)
            throws Exception {
        System.out.println("在myRedirectWithArgsURL()方法內...");
        System.out.println("參數爲:" + p.getUsername() + p.getPasswd());
        mmMap.addAttribute("msg",
                "帶參數的重定向,參數爲==>" + p.getUsername() + p.getPasswd());
        return "index";
    }  



解決中文亂碼問題
在web.xml中加入以下配置

      
      
      
      
<filter> <filter-name>CharacterEncodingFilter</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>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

配置完成後,中文亂碼解決掉了:





帶參數不拼接參數跳轉




    /**
     * 帶參數的重定向--不拼接URL
     * 
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/myRedirectWithArgs")
    public String myRedirectWithArgs(ModelMap mmMap, HttpServletRequest request)
            throws Exception {
        System.out.println("在myRedirectWithArgs()方法內...");
        Map<String, ?> map = RequestContextUtils.getInputFlashMap(request);
        System.out.println((String)map.get("username")+map.get("passwd"));
        mmMap.addAttribute("msg""帶參數的重定向,不拼接URL");
        return "index";
    } 







其餘


參考文章:  




附件列表

相關文章
相關標籤/搜索