memberVo/memberWirte
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방식
편한 점
default 값을 지정해줄 수 있고
e.g) defaultValue="010-1111-1111"
꼭 모든 값을 필수적으로 가져올 필요 없다. (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에 값을 넣지 않으면 오류가 생긴다.