Heim  >  Artikel  >  Java  >  Detaillierte Erläuterung mehrerer Methoden für Java Spring Controller zum Abrufen von Anforderungsparametern

Detaillierte Erläuterung mehrerer Methoden für Java Spring Controller zum Abrufen von Anforderungsparametern

高洛峰
高洛峰Original
2017-01-23 10:45:122489Durchsuche

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!

Stellungnahme:
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