Maison  >  Article  >  Java  >  Détails et solutions au problème du passage des requêtes de tableau par SpringMVC

Détails et solutions au problème du passage des requêtes de tableau par SpringMVC

黄舟
黄舟original
2017-03-04 09:26:301646parcourir

Lors de l'utilisation de SpringMVC, nous souhaitons transmettre des types de référence de tableau. SpringMVC a certaines restrictions sur le passage de tableaux :

Après les tests : SpringMVC prend en charge le passage de paramètres pour les tableaux unidimensionnels, mais ne prend pas en charge le passage de paramètres pour les tableaux multiples. -tableaux multidimensionnels. Si vous souhaitez transmettre un tableau multidimensionnel, nous devons utiliser d'autres méthodes telles que : 1. Diviser le tableau multidimensionnel en un tableau unidimensionnel 2. Changer le tableau multidimensionnel en un tableau multidimensionnel. définissez-le et transmettez-le ; 3. Ou changez-le en chaîne, traitez-le pendant le temps de réception, etc., 4 , ou concaténez et transférez les valeurs dans tous les tableaux (par exemple : data=1&data=2&data=3, représentant les valeurs de trois tableaux) La méthode est très flexible.

1 SpringMVC transmet un tableau unidimensionnel : lors de la transmission du type de tableau, vous devez ajouter une valeur dans @requestParam(), sinon une erreur HTTP Status 400 - Le paramètre long[] requis 'data' n'est pas présent se produira.

Par exemple : @RequestParam(value = "data[]")long[] data


Requête frontale :


var dataArr = new Array();  
        for(var i = 0; i < 10; i++){  
            dataArr.push(i);  
        }  
        $.ajax({  
                url : "test/arrayParam.shtml",  
                data : {  
                    "datas" : dataArr  
                },  
                dataType : "json",  
                success : function(data) {  
                    alert(data);  
                },  
                async : false  
            });  
        }


Code backend :



package com.pyc.search.view.controller;  
  
import org.springframework.stereotype.Controller;  
import org.springframework.web.bind.annotation.RequestMapping;  
import org.springframework.web.bind.annotation.RequestParam;  
import org.springframework.web.bind.annotation.ResponseBody;  
  
/** 
 * 创建时间:2014-12-24 上午11:52:00 
 *  
 * @author zhangtianyou 
 */  
@Controller  
@RequestMapping("/test")  
public class TestController {  
  
    @RequestMapping("/arrayParam")  
    public @ResponseBody  
    int test1(@RequestParam(value = "datas[]") long[] datas) {  
  
        return datas.length;  
    }  
}

  • Ce qui précède contient les détails et les solutions au problème de la transmission des requêtes de tableau par SpringMVC. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !

  • Déclaration:
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn