Spring MVC 参数传递和JSON数据处理

这篇具有很好参考价值的文章主要介绍了Spring MVC 参数传递和JSON数据处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参数传递

ModelAndView传递

  • 编写controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ​
        //也可以不创建ModelAndView,直接在参数中指定
        @RequestMapping(value = "/findAccount9")
        public ModelAndView findAccount9(ModelAndView mv) {
            mv.addObject("msg", "欢迎你 springmvc");
            mv.setViewName("success");
            return mv;
        }
    }
  • 在index.jsp里面定义超链接

    <a href="/account/findAccount9">ModelAndView参数传递</a>

Model传递

  • 编写controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ​
        @RequestMapping(value = "/findAccount10")
        public String findAccount10(Model model) {
            model.addAttribute("msg", "欢迎你 springmvc");
            return "success";
        }
    }
  • 在index.jsp里面定义超链接

    <a href="/account/findAccount10">Model参数传递</a>

ServletAPI传递

  • 编写controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ​
        @RequestMapping("/findAccount11")
        public String findAccount11(HttpServletRequest request, 
                                    HttpServletResponse response){
            request.setAttribute("msg","欢迎你 springmvc");
            return "success";
        }
    }
  • 在index.jsp里面定义超链接

    <a href="/account/findAccount11">ServletAPI传递</a>

JSON数据处理

添加json依赖

springmvc 默认使用jackson作为json类库,不需要修改applicationContext-servlet.xml任何配置,只需引入以下类库springmvc就可以处理json数据:

<!--spring-json依赖-->
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.0</version>
</dependency>

注解

  • @RequestBody:作用是接收前端ajax传递给后端的json字符串,并将json格式的数据转为java对象

  • @ResponseBody:作用是将java对象转为json格式的数据传递给前台ajax

案例

  • 编写controller

    @Controller
    @RequestMapping("/account")
    public class AccountController {
    ​
        @RequestMapping("/saveAccount2")
        @ResponseBody
        public Map saveAccount2(@RequestBody Account account){
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("status",200);
            map.put("msg",account);
            return map;
        }
    }
  • 在index.jsp里面定义ajax请求

    • 添加按钮

      <input type="button" value="测试ajax请求json和响应json" id="testJson"/>
    • 引入js库文件

      <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script>
    • 编写ajax代码

        <script type="text/javascript">
          $(function(){
            $("#testJson").click(function(){
              $.ajax({
                type:"post",
                url:"/account/saveAccount2",
                contentType:"application/json;charset=UTF-8",
                data:'{"id":1,"name":"张二狗","money":999.0}',
                success:function(data){
                  if(data.status == 200){
                    alert(data.msg.name);
                    alert(data.msg.money);
                  }
                }
              })
            });
          })
        </script>
  • 测试文章来源地址https://www.toymoban.com/news/detail-821585.html

    Spring MVC 参数传递和JSON数据处理,Spring MVC,spring,mvc,java

到了这里,关于Spring MVC 参数传递和JSON数据处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Spring Boot进阶(70):如何在Spring Boot中使用FastJson实现高效的JSON数据处理?

      随着互联网的发展,JSON(JavaScript Object Notation)已成为近年来使用最广泛的数据交换格式之一。为了提高JSON数据的处理效率,目前市面上常用的JSON解析库有Jackson、Gson、FastJson等。本文将介绍如何在Spring Boot中使用FastJson实现高效的JSON数据处理。   那么,具体如何实现

    2024年02月09日
    浏览(37)
  • Spring MVC入门必读:注解、参数传递、返回值和页面跳转的关键步骤

    目录 引言 一、常用注解 1.1.@RequestMapping 1.2.@RequestParam 1.3.@RequestBody 1.4.@RequestHeader 1.5.@PathVariable 二、参数传递 2.1.基础类型+String 2.2.复杂类型 2.3.@RequestParam 2.4.@PathVariable 2.5.@RequestBody 2.6.@RequestHeader 三、返回值 3.1.void 3.2.String 3.3.String+Model 3.4.ModelAndView 四、页面跳转 4.1.转发forw

    2024年02月09日
    浏览(25)
  • 在 Spring MVC 中,用于接收前端传递的参数的注解常用的有以下几种

    目录 1、对于json请求体参数, 2、对于路径传参 3、对于query传参 4、对于form-data参数, 总结:   1、对于json请求体参数, 请求头的Content-Type应为application/json。在前端,可以使用 data格式 传参。在后端,可以使用 @RequestBody 注解来接收参数。   2、对于路径传参 (例如:test/

    2024年01月23日
    浏览(33)
  • Spring-mvc的参数传递与常用注解的解答及页面的跳转方式---综合案例

    目录 一.slf4j--日志 二.常用注解        2.1.@RequestMapping       2.2.@RequestParam       2.3.@RequestBody       2.4.@PathVariable 三.参数的传递 3.1 基础类型 3.2 复杂类型 3.3 @RequestParam 3.4  @PathVariable 3.5 @RequestBody 3.6 增删改查  四.返回值            4.1 void 返回值   4.2 String

    2024年02月09日
    浏览(43)
  • Spring MVC -- 获取参数(普通对象+JSON对象+URL地址参数+文件+Cookie/Session/Header)

    目录 1.获取参数 1.1获取单个参数 1.2获取多个参数 传参注意事项: 2.获取对象  3.后端参数重命名@RequestParam 4.获取JSON对象@RequestBody 5.从 URL 地址中获取参数 @PathVariable 6.上传文件 @RequestPart 7.获取Cookie/Session/Header 7.1 获取 Request 和 Response 对象 7.2 获取Cookie (1)Servlet 获取 Cooki

    2024年02月16日
    浏览(31)
  • Spring Mvc请求处理过程分析 --- 参数解析

    调试示例基于注解@RequestBody,请求的入参是json格式的请求,本文主要分析spring解析请求参数的过程。 InvocableHandlerMethod的getMethodArgumentValues方法,会解析请求参数。 在上面的代码中:args[i] = this.resolvers.resolveArgument(parameter, mavContainer, request, this.dataBinderFactory);完成对参数的解析

    2024年02月02日
    浏览(35)
  • Spring MVC学习之——数据传递(在页面上添加数据)

    编写controller 在index.jsp里面定义超链接 编写controller 在index.jsp里面定义超链接 编写controller 在index.jsp里面定义超链接

    2024年01月18日
    浏览(35)
  • 优雅地处理参数传递:Spring Boot中的技巧

    目录 一:四种传参方式 1.1:在 URL 中传递参数 1.2:PathVariable 传递参数(Restful 风格) 1.3:在请求体中传递参数 1.4:在请求头中传递参数  二:文件上传接口测试  2.1 : test.java  三、@RequestParam 3.1 多个参数  3.2 单个参数  四、@PathVariable 4.1  单个参数  4.2  多个参数 五、@

    2024年02月05日
    浏览(39)
  • Spring MVC JSON 数据交互

    🔔 JSON 语法 | 菜鸟教程 为实现浏览器与控制器类之间的 JSON 数据交互, Spring MVC 提供了 MappingJackson2HttpMessageConverter 实现类默认处理 JSON 格式请求响应。该实现类利用 Jackson 开源包读写 JSON 数据,将 Java 对象转换为 JSON 对象和 XML 文档,同时也可以将 JSON 对象和 XML 文档转换为

    2024年02月16日
    浏览(27)
  • Spring数据库事务处理

    事务回滚丢失更新: 目前大部分数据库已经通过锁的机制来避免了事务回滚丢失更新。 数据库锁的机制: 锁可以分为乐观锁和悲观锁,而悲观锁又分为:读锁(共享锁)和写锁(排它锁),而数据库实现了悲观锁中的读锁和写锁,而乐观锁则需要开发人员自己实现。 数据库在设

    2024年02月07日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包