在 Java 后端使用 @RequestParam 接收来自前端的数组,你需要通过 URL 编码的方式将数组传递到后端。这里是一个示例,展示如何在 JSP 页面中使用 jQuery 发送数组,并在后端使用 @RequestParam 接收它。
此处只列举一种,还有别的格式,如果不明白可私信,知无不言

1. 在 JSP 页面中定义 jQuery 代码

在发送数组时,可以将数组的每个元素以特定的格式传递。例如,可以使用 key[]=value 的格式:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Send Array to Java Backend</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <script>
        $(document).ready(function() {
            // 定义一个数组
            var myArray = ['item1', 'item2', 'item3'];

            // 构建参数字符串
            var params = myArray.map(function(item, index) {
                return 'myArray=' + encodeURIComponent(item);
            }).join('&');

            // 发送 AJAX 请求
            $.ajax({
                type: "POST", // 使用 POST 方法
                url: "YourServletURL", // 替换为你的后端 URL
                data: params, // 发送参数字符串
                contentType: "application/x-www-form-urlencoded", // 设置内容类型
                success: function(response) {
                    console.log("Response from server:", response);
                },
                error: function(error) {
                    console.error("Error:", error);
                }
            });
        });
    </script>
</body>
</html>

2. 在 Java 后端使用 @RequestParam

在后端,你可以使用 @RequestParam 接收数组参数。这里是一个使用 Spring MVC 的示例:

import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class YourController {

    @PostMapping("/YourServletURL")
    public String receiveArray(@RequestParam("myArray") String[] myArray) {
        // 处理数组,例如打印
        for (String item : myArray) {
            System.out.println(item);
        }
        return "{\"status\":\"success\"}";
    }
}

注意事项
URL 替换:将 YourServletURL 替换为你的实际 URL。

Content Type:确保在 AJAX 请求中设置 contentType 为 application/x-www-form-urlencoded。

数组参数名:@RequestParam(“myArray”) 中的参数名要与前端发送的参数名一致。

通过这种方式,你就可以在 Java 后端使用 @RequestParam 接收前端发送的数组。

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部