【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

时间:2022-11-10 04:55:24

概述


spring MVC框架controller间跳转,需重定向,主要有如下三种:


前台index.jsp


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码


不带参数跳转


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

    /**
     * 不带参数的重定向
     * 
     * @return
     * @throws Exception
     */
    @RequestMapping(value = "/myRedirectWithoutArgs")
    public String myRedirectWithoutArgs(ModelMap mmMap) throws Exception {
        System.out.println("在myRedirectWithoutArgs()方法内...");
        mmMap.addAttribute("msg", "不带参数的重定向");
        return "index";

}  


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码


带参数拼接url形式跳转


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

    /**
     * 带参数的重定向--拼接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";

}  


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

解决中文乱码问题
在web.xml中加入如下配置
【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码
  1. <filter>
  2. <filter-name>CharacterEncodingFilter</filter-name>
  3. <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  4. <init-param>
  5. <param-name>encoding</param-name>
  6. <param-value>utf-8</param-value>
  7. </init-param>
  8. </filter>
  9. <filter-mapping>
  10. <filter-name>CharacterEncodingFilter</filter-name>
  11. <url-pattern>/*</url-pattern>
  12. </filter-mapping>

配置完成后,中文乱码解决掉了:

【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码



带参数不拼接参数跳转


【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

    /**
     * 带参数的重定向--不拼接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";

}



【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码

【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码【Spring学习笔记-MVC-16】Spring MVC之重定向-解决中文乱码


其他


参考文章:  

附件列表