使用 AJAX 前后端传递数据

使用异步操作(ajax)前后端传递数据

1、传递对象

     1.1、jsp文件

<%@ page language="java"
         pageEncoding="UTF-8" isELIgnored="false"%>



<%--${pageContext.request.contextPath}:
这是 JSP 表达式,它的作用是获取当前 Web 应用的上下文路径。
上下文路径是指 Web 应用在服务器上的根路径,
例如,若 Web 应用部署在 http://localhost:8080/myapp,那么上下文路径就是 /myapp。--%>

<%----%>


Hello World!





1.2、实现类

package org.example;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.swing.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

@Controller
public class UserinfoController {
    // 只接收post的请求方式 value 该方法的访问地址
    @PostMapping(value="/userinfo")
    //响应JSON数据 @RequestBody 接收JSON格式的数据于jackson-databind配合使用
    @ResponseBody()
//,@ResponseBody 注解确保 getUserinfo 方法返回的 JSON 字符串能直接作为 HTTP 响应体返回给客户端。

    public String getUserinfo(@RequestBody Userinfo userinfo) throws JsonProcessingException {
        // 输出客户端传来的数据
        System.out.println(userinfo);
        // ObjectMapper是jackson中的工具用于封装解析JSON数据
        // 由于该方法使用@RequestBody要求响应数据必须为JSON格式,
        // 因此 将响应数据通过ObjectMapper转换成JSON,在向浏览器传递
        ObjectMapper objectMapper = new ObjectMapper();
        // 将字符串包装为JSON格式
        String jsonString = objectMapper.writeValueAsString("success");
        return jsonString;
    }

    @PostMapping(value="/userinfoList")
    @ResponseBody
    public String getUserinfoList(@RequestBody ArrayList list) throws JsonProcessingException {
        System.out.println(list);
        ObjectMapper objectMapper = new ObjectMapper();
        return objectMapper.writeValueAsString("success");
    }

    @PostMapping(value="/userinfoListMap")
    @ResponseBody
    public String getUserinfoList(@RequestBody List list) throws JsonProcessingException {
        System.out.println(list);
        ObjectMapper objectMapper = new ObjectMapper();
        return objectMapper.writeValueAsString("success");
    }

    @PostMapping(value="/userinfoJSONString")
    public String getUserinfoJSONString(@RequestBody Map map) throws JsonProcessingException {
        System.out.println(map.get("username"));
        List worklist = (List)map.get("work");
        for(int i = 0;i

你可能感兴趣的:(ajax,spring)