Spring MVC Wie nehme ich den Parameterwert einer GET-HTTP-Anfrage in meine Controller-Methode?

Lesezeit: 2 Minuten

Benutzer-Avatar
AndreaNobili

In dieser Zeit beschäftige ich mich mit dem Spring MVC Showcase-Beispiel (herunterladbar vom STS-Dashboard) und ich habe einige einfache Fragen dazu Request Mapping Beispiele:

1) In meinem home.jsp Seite habe ich diesen Link:

        <li>
            <a id="byParameter" class="textLink" href="https://stackoverflow.com/questions/13442678/<c:url value="/mapping/parameter?foo=bar" />">By path, method, and presence of parameter</a>
        </li>

Wie Sie an diesem Link sehen können, mache ich eine HTTP-GET-Anfrage mit einem “foo”-Parameter, der den Wert “bar” enthält.

Dieser HTTP-Request wird von der folgenden Methode der Controller-Klasse MappingController behandelt:

@RequestMapping(value="/mapping/parameter", method=RequestMethod.GET, params="foo")
public @ResponseBody String byParameter() {
    return "Mapped by path + method + presence of query parameter! (MappingController)";
}

Diese Methode verwaltet HTTP-Anfragen (nur GET Typ), die einen Parameter namens “foo” haben

Wie kann ich den Wert (“bar”) dieses Parameters nehmen und ihn in eine Variable im Code meiner by Parameter-Methode einfügen?

Wie in erklärt die Dokumentationdurch Verwendung eines @RequestParam Anmerkung:

public @ResponseBody String byParameter(@RequestParam("foo") String foo) {
    return "Mapped by path + method + presence of query parameter! (MappingController) - foo = "
           + foo;
}

  • Falls es 10 Parameter gibt, müssen wir dies 10 Mal tun oder es gibt einen besseren Weg für dieses Szenario

    – Zählen

    23. Mai 2014 um 9:19 Uhr

  • @Count: Klicken Sie auf den Link, den ich zur Dokumentation gegeben habe, scrollen Sie dann ein wenig nach oben bis zum Absatz “Unterstützte Methodenargumenttypen” und lesen Sie den Teil über “Befehls- oder Formularobjekte”.

    – JB Nizet

    23. Mai 2014 um 9:43 Uhr

Sie könnten auch eine URI-Vorlage verwenden. Wenn Sie Ihre Anfrage in eine erholsame URL strukturiert haben, könnte Spring den bereitgestellten Wert aus der URL parsen.

HTML

<li>
    <a id="byParameter" 
       class="textLink" href="https://stackoverflow.com/questions/13442678/<c:url value="/mapping/parameter/bar />">By path, method,and
           presence of parameter</a>
</li>

Regler

@RequestMapping(value="/mapping/parameter/{foo}", method=RequestMethod.GET)
public @ResponseBody String byParameter(@PathVariable String foo) {
    //Perform logic with foo
    return "Mapped by path + method + presence of query parameter! (MappingController)";
}

Spring URI-Vorlagendokumentation

1246250cookie-checkSpring MVC Wie nehme ich den Parameterwert einer GET-HTTP-Anfrage in meine Controller-Methode?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy