栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

SpringMVC数据响应

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

SpringMVC数据响应

1. SpringMVC的数据响应方式 1.1. 页面跳转
  • 直接返回字符串
  • 通过ModelAndView对象返回
1.2. 回写数据
  • 直接返回字符串
  • 返回对象或集合
2. 页面跳转 2.1. 返回字符串形式
	
    
    	
        
        
    
	@RequestMapping("/quick",method = [RequestMethod.GET], params = ["username"])
    fun quickMethod(): String{
        // forward:转发打开(默认)
        // redirect:重定向
        return "quick"
    }
2.2. 返回ModelAndView对象
	@RequestMapping("/quick2")
    fun save2(): ModelAndView{
        
        val modelAndView = ModelAndView()
        // 设置视图名称
        modelAndView.viewName = "error"
        // 设置模型数据(可以在视图中用$取出 -> $username)
        modelAndView.addObject("username","name")
        return modelAndView
    }
	@RequestMapping("/quick3")
	// springmvc帮忙注入ModelAndView
    fun save3(modelAndView: ModelAndView): ModelAndView{
        // 设置视图名称
        modelAndView.viewName = "error"
        // 设置模型数据
        modelAndView.addObject("username","name")
        return modelAndView
    }
	@RequestMapping("/quick4")
    fun save4(model: Model): String{
        model.addAttribute("username","name")
        return "error"
    }
	// 不常用
	@RequestMapping("/quick5")
    fun save5(request: HttpServletRequest): String{
        request.setAttribute("username","name")
        return "error"
    }
3. 回写数据 3.1. 直接返回字符串

response.getWriter().print(“hello world”)

	@RequestMapping("/quick6")
	// 同理springmvc 注入 HttpServletResponse
    fun save6(response: HttpServletResponse) {
        val writer = response.writer
        writer.println("hello world!")
    }
	// 通过注解@ResponseBody告诉springmvc,返回的字符串直接在http响应体中返回,而不是视图跳转
	@ResponseBody
    @RequestMapping("/quick7")
    fun save7(response: HttpServletResponse):String {
        return "hello world!"
    }
	@ResponseBody
    @RequestMapping("/quick8")
    fun save8(response: HttpServletResponse):String {
    	// 模拟json格式
        return "{"username":"zhangsan","age":"18"}"
    }

引入json操作相关依赖

	//引入jackson依赖
    implementation 'com.fasterxml.jackson.core:jackson-core:2.13.0'
    implementation 'com.fasterxml.jackson.core:jackson-databind:2.13.0'
    implementation 'com.fasterxml.jackson.core:jackson-annotations:2.13.0'
    //引入json依赖
    implementation 'com.google.code.gson:gson:2.8.6'
	@ResponseBody
    @RequestMapping("/quick9")
    fun save9(response: HttpServletResponse):String {
    	// 使用已经创建好的User数据类
        val user = User("lisi", 20)
        // 使用json的转换工具将对象转换成json格式字符串返回
        // gson 依赖
        //val json = Gson().toJson(user)
        // jackson-databind 依赖
        val json = ObjectMapper().writevalueAsString(user)
        return json
    }
3.2. 返回对象或集合
	@ResponseBody
    @RequestMapping("/quick10")
    // springmvc自动将User转换成json格式字符串
    fun save10(response: HttpServletResponse):User {
        return User("lisi", 20)
    }

配置处理器映射,让springmvc自动将你返回的类处理成json

    
    
        
            
                
            
        
    

使用上述配置处理器映射方法比较麻烦,可以使用mvc注解驱动代替上述配置



	...
	
    
    

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/684733.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号