Heim > Java > javaLernprogramm > Hauptteil

Details und Lösungen zum Problem der Weitergabe von Array-Anfragen in SpringMVC

黄舟
Freigeben: 2017-03-04 09:26:30
Original
1659 Leute haben es durchsucht

Bei der Verwendung von SpringMVC möchten wir Array-Referenztypen übergeben. SpringMVC hat einige Einschränkungen bei der Array-Übergabe:

Nach dem Test: SpringMVC unterstützt die Parameterübergabe für eindimensionale Arrays, unterstützt jedoch nicht die Parameterübergabe für mehrdimensionale Arrays -dimensionale Arrays. Wenn Sie ein mehrdimensionales Array übergeben möchten, müssen wir andere Methoden verwenden, wie zum Beispiel: 1. Teilen Sie das mehrdimensionale Array in ein eindimensionales Array. 2. Ändern Sie das mehrdimensionale Array in ein setze und übergebe es; 3. Oder ändere es in einen String, verarbeite es während der Empfangszeit usw., 4 , oder verkette und übertrage die Werte in allen Arrays (zum Beispiel: data=1&data=2&data=3 , stellt die Werte von drei Arrays dar) Die Methode ist sehr flexibel.

1 SpringMVC übergibt eindimensionales Array: Bei der Übergabe des Array-Typs müssen Sie einen Wert in @requestParam() hinzufügen, andernfalls tritt der Fehler „HTTP-Status 400 – Erforderlicher langer []-Parameter „Daten“ ist nicht vorhanden“ auf.

Zum Beispiel: @RequestParam(value = "data[]")long[] data


Front-End-Anfrage:


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  
            });  
        }
Nach dem Login kopieren


Backend-Code:



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;  
    }  
}
Nach dem Login kopieren

  • Das Obige sind die Details und Lösungen für das Problem der Weitergabe von Array-Anfragen durch SpringMVC. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

  • Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage
    Über uns Haftungsausschluss Sitemap
    Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!