requestParam 형태로 받기

easyliving·2023년 2월 21일
0

FRONT_END (JAVA_SCRIPT)

목록 보기
52/55

memberVo/memberWirte

vo/write

Mcontroller - requestParam 형태로 받기

넣긴 다 넣고 뽑아쓰기고 싶은건 가져가기

  @RequestParam("id") String bid <- 원래 표현식 보내는
  보내는  & 받는  같다면

  즉, 

  <input type="text" name="id" id="id"> <- 여기서 name 값과
  @RequestParam("id") String **bid** <- 여기 받아오는 id 값이 같다면
  
  @RequestParam String id <-param안의 name을 생략할 수 있다. 
  그리고 받아오는 값은 주는 값과 동일하게 쓰면 된다.
  
  보내는 방식은 request방식과 같다.
  
  

 @PostMapping("/memberView") 
 public String memberView(@RequestParam String id,
 @RequestParam(required=false) String pw,
 @RequestParam(required=false) String name,
 @RequestParam(defaultValue="010-1111-1111", required=false) String phone,
 @RequestParam(required=false) String gender,
 @RequestParam String[]hobbys, Model model) {
	  
	  //@RequestParam("id") String bid <- 원래 표현식 보내는
		/* 보내는 쪽 받는 쪽 같다면 @RequestParam String id */
	  
	  for (int i = 0; i < hobbys.length; i++) { if (i == 0) hobby +=hobbys[i]; 
      else hobby += "," + hobbys[i]; }
	  
	  model.addAttribute("id", id); model.addAttribute("pw", pw);
	  model.addAttribute("name", name); model.addAttribute("phone", phone);
	  model.addAttribute("gender", gender); model.addAttribute("hobby", hobby);
	  return "member/memberView";
	  
	  }//requestparam방식

편한 점

  1. default 값을 지정해줄 수 있고

    	e.g) defaultValue="010-1111-1111"
  2. 꼭 모든 값을 필수적으로 가져올 필요 없다. (required=false) 사용

    	만약에 required를 지정해 놓지 않으면 

    Bad Request, Required String parameter '안 넣은 값' is not present
    이라는 오류가 뜬다.

    전체 e.g)

    		@RequestParam(defaultValue="010-1111-1111", required=false)
          
          

오류

하지만 request방식과 마찬가지로 model.addAttribute할 때 string값으로 넣어줘야하는데 array에 값을 넣지 않으면 오류가 생긴다.

profile
가끔져요

0개의 댓글