Java Spring Controller verschiedene Möglichkeiten, um Anforderungsparameter zu erhalten
1. Schreiben Sie die Parameter des Formulars direkt in die formalen Parameter der entsprechenden Methode des Controllers, die für die Einreichung der GET -Methode geeignet ist, jedoch nicht für die Einreichung der Post -Methode. Wenn "Inhaltstyp" = "Anwendung/x-www-form-urlencoded", können Sie es per Post einreichen.
URL -Formular: http: // localhost: 8080/ssmdemo/Demo/adduser1? userername = lixiaoxi & password = 1111111 Die eingereichten Parameter müssen mit dem Parameternamen in der Controller -Methode übereinstimmen.
/** * 1. Schreiben Sie direkt die Parameter des Formulars in den formalen Parametern der entsprechenden Methode des Controllers * @param username * @param password * @return */@RequestMapping ("/adduser1") public String adduser1 (String -Benutzername, String Passwort) {system.println ("Username is:" username). System.out.println ("Passwort ist:"+Passwort); Rückgabe "Demo/Index"; } 2. Empfangen Sie durch httpServletRequest, sowohl post- als auch gründen Methoden sind in Ordnung.
/** * 2. Empfangen Sie über httpServletRequest * @param request * @return */@RequestMapPing ("/addUser2") public String addUser2 (httpServletRequest -Anforderung) {String userName = request.getParameter ("username"); String password = request.getParameter ("Passwort"); System.out.println ("Benutzername ist:"+Benutzername); System.out.println ("Passwort ist:"+Passwort); Rückgabe "Demo/Index"; } 3. Erhalten Sie durch eine Bohne, sowohl Post als auch Get sind in Ordnung.
/** * 3.. Empfangen Sie durch eine Bean * @param user * @return */@RequestMapping ("/adduser3") public String addUser3 (UsModel -Benutzer) {System.out.println ("Benutzername ist:"+user.getUnername ()); System.out.println ("Passwort ist:"+user.getPassword ()); Rückgabe "Demo/Index"; }4. Verwenden Sie die @Modelattribute -Annotation, um die Formularformatdaten der Postanforderung zu erhalten
/** * 4. Verwenden Sie die @ModelAtTribute -Annotation, um die Formularformatdaten der Postanforderung zu erhalten. IS: "+user.getUnername ()); System.out.println ("Passwort ist:"+user.getPassword ()); Rückgabe "Demo/Index"; } 5. Verwenden Sie die Annotation @RequestParam, um die Anforderungsparameter an die Methode zu binden, um Parameter einzugeben
Wenn der Benutzername des Anforderungsparameters nicht vorhanden ist, tritt eine Ausnahme auf. Sie können es lösen, indem Sie die erforderliche Eigenschaft festlegen = false, z. B.:
@RequestParam (value = "userername", fordert = false) **** Wenn "Inhaltstyp" = "Anwendung/x-www-form-urlencoded", post det kann **** Wenn "content-type" = "Anwendung/Anwendung/JSON", nur GET/***5. Verwenden Sie Annotation @Requestaram an die Anforderungsparparameter an die Anforderungsparparameter. @Return */ @RequestMapping (value = "/ addUser6", method = requestMethod.get) public String addUser6 (@RequestParam ("Benutzername") String -Benutzername, @RequestParam ("Passwort") String -Passwort) {System.out.println ("userername is:" username); System.out.println ("Passwort ist:"+Passwort); Rückgabe "Demo/Index"; } 6. verwenden
@RequestMapping (value = "/adduser6", method = requestMethod.get) public String addUser6 (httpServletRequest Request) {System.out.println ("Benutzername ist:"+request.getQueryString ()); Rückgabe "Demo/Index"; }Danke fürs Lesen, ich hoffe, es kann Ihnen helfen. Vielen Dank für Ihre Unterstützung für diese Seite!