繁体   English   中英

如何将 javascript 数组发送到 Spring MVC 控制器

[英]How to send a javascript array to Spring MVC controller

我正在尝试向 Spring MVC 控制器发送一个 javascript 数组..但我得到了空值..

我的 javascript 代码:

for (var n = 1; n < rowCount; n++) {
            cells = rows[n].cells;
            data.push([
                cells[0].firstElementChild.checked,
                cells[1].firstElementChild.value,
                cells[2].firstElementChild.value,
                cells[3].firstElementChild.value,
                cells[4].firstElementChild.value
           ]);
}

$.ajax({
        url: 'addDetails.html',
        type:"POST",
        data:
{promo : data}

我的 Spring MVC 控制器请求映射:

@RequestMapping("/addDetails")
    public @ResponseBody void addEntity(
            @RequestParam(value="promo") List<String> promo) throws IOException {

我在 Requestmapping for promo 中没有得到任何价值。请帮助我..谢谢!

POST Body 可以在RequestBody而不是在RequestParam接收,其次,如果您像{promo: data}这样传递数组,它将被转换为HashMap或某些POJO对象而不是数组列表,因此直接传递数组,如:

$.ajax({
        url: 'addDetails.html',
        type:"POST",
        data:data

并使您的控制器像:

@RequestMapping("/addDetails", method = {RequestMethod.POST})
public @ResponseBody void addEntity(
            @RequestBody List<String> promo) throws IOException {

更新更多数据,您可以创建一个 POJO 类:

public class MyData{
    private String lname;
    private String lstate;
    private String lrta;
    private String lse;
    private List<String> promo;

   ... Getters and Setters
}

你的控制器应该是:

@RequestMapping("/addDetails", method = {RequestMethod.POST})
public @ResponseBody void addEntity(
                @RequestBody MyData myData) throws IOException {

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM