zoukankan      html  css  js  c++  java
  • controller 返回界面 中文乱码

    
    @ResponseBody
        @RequestMapping(value = "/addStudent",method = RequestMethod.GET)
        public String addStudent(Student student){
            if (ssi.addStudent(student)) {
                return "<script>alert('添加成功');location.href='/sc/list'</script>";
            }
            return "<script>alert('添加失败');location.href='addStudent'</script>";
        }
    
    

    运行结果

    解决方式 加上 produces 属性

    @ResponseBody
        @RequestMapping(value = "/addStudent",method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
        public String addStudent(Student student){
            if (ssi.addStudent(student)) {
                return "<script>alert('添加成功');location.href='/sc/list'</script>";
            }
            return "<script>alert('添加失败');location.href='addStudent'</script>";
        }
    

    produces可能不算一个注解,因为什么呢,它是注解@requestMapping注解里面的属性项,

    它的作用是指定返回值类型,不但可以设置返回值类型还可以设定返回值的字符编码;

    还有一个属性与其对应,就是consumes: 指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;

    他们的使用方法如下:

    一、produces的例子

    produces第一种使用,返回json数据,下边的代码可以省略produces属性,因为我们已经使用了注解@responseBody就是返回值是json数据:

    @Controller  
    @RequestMapping(value = "/pets/{petId}", method = RequestMethod.GET, produces="application/json")  
    @ResponseBody  
    public Pet getPet(@PathVariable String petId, Model model) {     
        // implementation omitted  
    }  
    
    

    produces第二种使用,返回json数据的字符编码为utf-8.:

    @Controller  
    @RequestMapping(value = "/pets/{petId}", produces="MediaType.APPLICATION_JSON_VALUE"+";charset=utf-8")  
    @ResponseBody  
    public Pet getPet(@PathVariable String petId, Model model) {      
        // implementation omitted  
    }  
    

    二、consumes的例子( 方法仅处理request Content-Type为“application/json”类型的请求。)

    @Controller  
    @RequestMapping(value = "/pets", method = RequestMethod.POST, consumes="application/json")  
    public void addPet(@RequestBody Pet pet, Model model) {      
        // implementation omitted  
    }  
    
  • 相关阅读:
    让 awesome , emacs , fcitx 一起工作(为awesome添加环境变量,和开机运行脚本)
    告别windows
    使用 Emacs PO mode 编辑 django PO 文件
    [转] Awesome autostart. [为awesome 设置环境变量]
    让 awesome 支持双屏
    解决长email在表格td中不自动换行的问题 & CSS强制不换行
    使用pdb (ipdb) 调试 python 程序
    ClickOnce 部署概述
    SQL Server 2005 CE基础概要
    运算符优先级 (TransactSQL)
  • 原文地址:https://www.cnblogs.com/userzf/p/13824972.html
Copyright © 2011-2022 走看看