스프링(Form 태그)

서울IT코드정리 /kyChoi·2021년 11월 14일
0

스프링

목록 보기
13/17

스프링 Form

현업에서 가장 많이 사용하는 방법 (데이터 또는 커맨드 객체)

기존방법 : 가독성 떨어진다, 코드양이 길다

@RequestMapping("/member/join")
public String joinData(@RequestParam("name") String name, @RequestParam("id") String id,
@RequestParam("pw") Stirng pw, @RequestParam("email") String email, Model model()
){
Member member = new Member();
member.setName(name);
member.setId(id);
member.setPw(pw);
member.setEmail(email);

model.addAttribute("memberInfo",member);
return "member/join";

}

개선 방법 : 코드양이 적다

@RequestMapping("/member/join")
public String joinData(Member member){
return "member/join"

}

url 에 name 홍길동 id abc pw 123 email abc 라고 데이터를 날릴경우

두가지 방법다 같은 결과값을 낸다. 자동으로 member 객체로 가서 setter 에 들어간다.

.jsp 뷰 단에서 ${member.name} , ${member.id} 로 데이터를 출력할 수 있따

HttpServletRequest 클래스를 이용해서 데이터를 전송하는 방법

클라이언트가 데이터를 보내다 ->dispatcherservlet 이 요청사항을 controller 에게 보내 어노테이션에 맞는 메소드 또는 클래스를 실행한다.

-> RequestMapping 에 맞는 작업을 실행한다. 아랫 로직은 HttpServletRequest 로 해당 데이터를 받는 역할을 한다. 그리고 model에 저장해서 .jsp 로
데이터를 넘긴다.

@RequestMapping("board/confirmId")
Public String confirmId(HttpServletRequest httpServletRequest, Model model){
String id = httpServletRequest.getParameter("id");
Stirng pw = httpServletRequest.getParameter("pw");
model.addAttribute("id",id);
model.addAttribute("pw",pw);
return "board/confirmId";

}

view.jsp 에서

Id: ${id}
Pw: ${pw} 로 받을 수 있다

그러면 url에서 보내든 로그인 폼을 만들어서 보내든 해야 한다.

http://localhost:8090/spring_13_1_ex1_springex/board/confirmId?id=123&pw=456

이러면 id 123
pw 456 나온다

//

RequestParam 어노테이션을 이용해서 데이터를 전송하는 방법

패러미터에 HttpServletRequest 대신 어노테이션을 이용해서 데이터를 받다

@RequestMapping("board/checkId")
public String checkId(@RequestParam("id") String id, @RequestParam("pw") int pw, Model model){
model.addAttribute("identify",id);
model.addAttribute("password",pw);
return "board/checkId";
}

데이터를 받는 두가지 방법의 차이점 :

annotation 방법은 id 랑 pw 를 넘기지 않는다면 에러 400페이지 가 나타난다.

RequestMapping 은 그냥 null 값

profile
건물주가 되는 그날까지

0개의 댓글