Mehrere Methoden für den Java Spring Controller zum Abrufen von Anforderungsparametern
1. Schreiben Sie die Parameter des Formulars direkt in die formalen Parameter der entsprechenden Methode des Controllers. Es eignet sich für die Übermittlung per Get-Methode, aber nicht für die Übermittlung per Post geeignet. Wenn „Content-Type“="application/x-www-form-urlencoded" ist, können Sie mit Post das
URL-Formular senden: http://localhost:8080/SSMDemo/demo/addUser1?username= lixiaoxi&password=111111 Die übermittelten Parameter müssen mit den Eingabeparameternamen in der Controller-Methode übereinstimmen.
/** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1(String username,String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
2. Empfangen über HttpServletRequest, sowohl Post- als auch Get-Methoden sind verfügbar.
/** * 2、通过HttpServletRequest接收 * @param request * @return */ @RequestMapping("/addUser2") public String addUser2(HttpServletRequest request) { String username=request.getParameter("username"); String password=request.getParameter("password"); System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
3. Empfangen Sie über eine Bean, sowohl Post- als auch Get-Methoden sind verfügbar.
/** * 3、通过一个bean来接收 * @param user * @return */ @RequestMapping("/addUser3") public String addUser3(UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
4. Verwenden Sie die Annotation @ModelAttribute, um die FORM-Formulardaten der POST-Anfrage zu erhalten.
/** * 4、使用@ModelAttribute注解获取POST请求的FORM表单数据 * @param user * @return */ @RequestMapping(value="/addUser5",method=RequestMethod.POST) public String addUser5(@ModelAttribute("user") UserModel user) { System.out.println("username is:"+user.getUsername()); System.out.println("password is:"+user.getPassword()); return "demo/index"; }
5 die Annotation @RequestParam zum Binden der Anforderungsparameter an die Methodeneingabeparameter
Wenn der Anforderungsparameter Benutzername nicht vorhanden ist, tritt eine Ausnahme auf. Dies kann durch Festlegen des Attributs „required=false“ behoben werden. zum Beispiel:
@RequestParam(value="username", required=false) **** 若"Content-Type"="application/x-www-form-urlencoded",post get都可以 **** 若"Content-Type"="application/application/json",只适用get /** * 5、用注解@RequestParam绑定请求参数到方法入参 * @param username * @param password * @return */ @RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(@RequestParam("username") String username,@RequestParam("password") String password) { System.out.println("username is:"+username); System.out.println("password is:"+password); return "demo/index"; }
6. Verwenden Sie request.getQueryString(), um die Parameter der Spring-MVC-Get-Anfrage abzurufen. Dies gilt nur für Get-Anfragen
@RequestMapping(value="/addUser6",method=RequestMethod.GET) public String addUser6(HttpServletRequest request) { System.out.println("username is:"+request.getQueryString()); return "demo/index"; }
Vielen Dank fürs Lesen. Ich hoffe, es kann Ihnen helfen.
Ausführlichere Erläuterungen zu den verschiedenen Methoden des Java Spring Controllers zum Erhalten von Anforderungsparametern finden Sie auf der chinesischen PHP-Website für verwandte Artikel!