创建一个地图javascript列表?

时间:2016-03-31 15:40:33

标签: javascript list spring-mvc controller

大家好,请问如何获取我在javascript中创建的对象数组并发送给spring controller。

$(table).find('tr').each(function(index) {
                        $this = $(this)
                        var value = $this.find("span.value").html();
                        var quantity = $this.find("input.quantity").val();
                        var lots = $this.find(".lots").val(), produits = $this
                                .find(".produits").val(), fournisseurs = $this
                                .find(".fournisseurs").val(), ref = $this
                                .find(".ref").html(), unite = $this
                                .find(".unite").val(), prix = $this
                                .find(".prix").html(), qte = $this
                                .find(".qte").val(), total = $this
                                .find(".total").text();
                        var ligne = new Object();
                        ligne.lot = lots;
                        ligne.produit = produits;
                        ligne.fournissuer = fournisseurs;
                        ligne.unite = unite;
                        ligne.prix = prix;
                        ligne.total = total;
                        ligne.ref = ref;
                        ligne.qte = qte;
                        tableau.push(ligne)

                    });

这是我的Ajax请求

 $.ajax({
        traditional : true,
        async : false,
        url : '/save/',
        contentType : "application/json",
        type : "POST",
        data : JSON.stringify(tableau),
        success : function(data) {
            console.log("okk ");
        },
        error : function(jqXHR, textStatus, errorThrown) {     
            console.log('erreur');
        }

和Spring Controller。

@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@RequestBody ArrayList<ChiffrageLigne> tableau) {
    log.info("liste des donnees = "+tableau.size());
    for (ChiffrageLigne chiffrageLigne : tableau) {
        System.out.println("ref fournisseur"+chiffrageLigne.getRefFour()+"prix ="+chiffrageLigne.getPrix());
    }
    return "ok";
}

所以我怎么能在sping mvc controller中得到这个数组。谢谢

1 个答案:

答案 0 :(得分:0)

您可以在不使用ModelAttribute的情况下从Ajax而不是List<Object>获取List<ChiffrageLigne>

 $.ajax({
        traditional : true,
        async : false,
        url : '/save/',
        contentType : "application/json",
        type : "POST",
        dataType : "json",
        data : {tableau:JSON.stringify(tableau)},
        success : function(data) {
            console.log("okk ");
        },
        error : function(jqXHR, textStatus, errorThrown) {     
            console.log('erreur');
        }

控制器代码

@RequestMapping(value = "/save", method = RequestMethod.POST)
public String save(@RequestParam(value="tableau",required=true)  List<Object> tableauList) {
    //write code here converting List<object> to ArrayList<ChiffrageLigne>
}