Ajax前后端数据交互--SSM

Ajax前后端数据交互–SSM

前后台数据交互均使用json。

框架ssm(spring+springmvc+mybatis)

@RequestBody注解实现接收http请求的json数据,将json数据转换为java对象

@ResponseBody注解用于将Controller的方法返回的对象,通过HttpMessageConverter接口转换为指定格式的数据如:json,xml等,通过Response响应给客户端

1.导包

	<dependency>
			<groupId>com.alibaba</groupId>
			<artifactId>fastjson</artifactId>
			<version>1.2.75</version>
		</dependency>

2.在配置映射器和适配器时使用

<mvc:annotation-driven></mvc:annotation-driven>

它默认加载了很多格式的解析器,例如JSON等,不需要手动配置。

案例

前端

   // 跳转 到tranferaddSub
                        $.ajax({
                            url : "/tranfermixtrue",
                            type : "POST",
                            dataType:"json",
                            contentType : "application/json;charset=UTF-8",
                            <!-- 向后端传输的数据 -->
                            data : JSON.stringify({
                                id:getdate(),
                                accuracy:parseFloat(eval(right/50)),
                                exercises:cons,
                                degreeOfDifficulty:1
                            }),
                            success:function(result) {
                            },
                            error:function(result){
                            }
                        });

后端

  @RequestMapping(value = "/tranferaddSub")
    public  String tranferaddSub(@RequestBody Exercises exercises) {
//        作为addSUb的中转站
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        ExerciseSerivice serivice = context.getBean("ExerciseSeriviceImpl", ExerciseSerivice.class);
        String jsonString = JSON.toJSONString(exercises);
        Exercises exercisess = JSON.parseObject(jsonString, Exercises.class);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("date",exercisess.getId());
        map.put("data",jsonString);
        serivice.addExercise(map);
        return "redirect:/addSub";
    }

    @RequestMapping(value = "/tranfermulDivide")
    public  String tranfermulDivide(@RequestBody Exercises exercises) {
//        作为mixtrue的中转站
        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        ExerciseSerivice serivice = context.getBean("ExerciseSeriviceImpl", ExerciseSerivice.class);
        String jsonString = JSON.toJSONString(exercises);
        Exercises exercisess = JSON.parseObject(jsonString, Exercises.class);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("date",exercisess.getId());
        map.put("data",jsonString);
        serivice.addExercise(map);
        return "redirect:/mulDivide";
    }
    @RequestMapping(value = "/tranfermixtrue")
    public  String tranfermixtrue(@RequestBody Exercises exercises) {
//        作为mixtrue的中转站

        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
        ExerciseSerivice serivice = context.getBean("ExerciseSeriviceImpl", ExerciseSerivice.class);
        String jsonString = JSON.toJSONString(exercises);
        Exercises exercisess = JSON.parseObject(jsonString, Exercises.class);
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("date",exercisess.getId());
        map.put("data",jsonString);
        serivice.addExercise(map);
        return "redirect:/mixtrue";
    }

@RequestBody将传入的json数据转换位items对象,而@ResponseBody将return的i对象转换成json格式返回给jsp页面。
注:保证json的key和对应的pojo类的字段一致

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值