>Java >java지도 시간 >요청 매개변수를 얻기 위한 Java Spring Controller의 여러 가지 방법에 대한 자세한 설명

요청 매개변수를 얻기 위한 Java Spring Controller의 여러 가지 방법에 대한 자세한 설명

高洛峰
高洛峰원래의
2017-01-23 10:45:122559검색

Java Spring Controller가 요청 매개변수를 얻기 위한 여러 메소드

1. Controller의 해당 메소드의 형식 매개변수에 양식의 매개변수를 직접 작성하는 것이 get 메소드로 제출하는 데 적합합니다. 우편 방식으로 제출하는 데 적합하지 않습니다. "Content-Type"="application/x-www-form-urlencoded"인 경우 게시물을 사용하여

URL 양식(http://localhost:8080/SSMDemo/demo/addUser1?username=)을 제출할 수 있습니다. lixiaoxi&password=111111 제출된 매개변수는 Controller 메소드의 입력 매개변수 이름과 일치해야 합니다. ​

/**
  * 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. HttpServletRequest를 통해 수신하며, post 및 get 메소드를 모두 사용할 수 있습니다.

/**
  * 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. Bean을 통해 수신하며, post 및 get 메소드를 모두 사용할 수 있습니다.

/**
 * 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. @ModelAttribute 주석을 사용하여 POST 요청의 FORM 형식 데이터를 가져옵니다.

/**
   * 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. 요청 매개변수를 메소드 입력 매개변수

에 바인딩하려면 요청 매개변수 사용자 이름이 존재하지 않으면 필수=false 속성을 설정하여 예외가 발생합니다. 예:

@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. spring MVC get 요청의 매개변수를 가져오려면 request.getQueryString()을 사용하세요.

@RequestMapping(value="/addUser6",method=RequestMethod.GET)
public String addUser6(HttpServletRequest request) {
  System.out.println("username is:"+request.getQueryString());
  return "demo/index";
}

감사합니다. 읽어주셔서 감사합니다. 이 사이트를 지원해 주셔서 감사합니다.

요청 매개변수를 얻는 Java Spring Controller의 여러 가지 방법에 대한 자세한 설명을 보려면 PHP 중국어 웹사이트의 관련 기사를 참고하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.