Spring | 게시판 만들기 02. 목록 수정, 삭제하기

새니·2023년 6월 23일
0

spring

목록 보기
8/13
post-thumbnail

지난 시간에 만들었던 게시판 리스트에
[list.jsp]

  • 수정과 삭제 링크를 만든다.

삭제요청을 할 코드를 작성.

MemberMapper와 MemberDaoImpl 작성

  • 현재 list에서는 파라미터 값으려 회원의 번호만 받아오면 되기때문에 MemberDao가 아닌 int num을 전달 받는다.

[MemberController]

//회원 삭제 요청 처리
	@RequestMapping("/member/delete")
	public String delete(int num) {
		dao.delete(num);
		
		//목록보기로 리다이렉트 응답
		return "redirect:/member/list";
	}

💻 결과

  • 회원 목록에서 26번의 회원 번호를 삭제하면? ?

  • 리다이텍트로 응답하기 때문에 페이지 전환 없이 바로 삭제된다!

회원 수정폼 요청 처리를 할 코드 작성

updateform.jsp 작성

update.jsp작성

MemberMapper와 MemberDaoImpl 작성

회원 수정 요청 처리할 코드를 작성

	//회원 수정 요청 처리
	@RequestMapping(method =  RequestMethod.POST, value="/member/update")
	public String update(MemberDto dto) {
		dao.update(dto);
		return "member/update";
	}

회원 수정폼 요청 처리할 코드를 작성


	//회원 수정폼 요청 처리
	@RequestMapping("/member/updateform")
	public ModelAndView updateform(ModelAndView mView, int num) {
		//수정할 회원의 정보를 얻어온다.
		MemberDto dto = dao.getData(num);
		
		mView.addObject("dto", dto);
		//view page의 위치도 ModelAndView 객체에 담아서 리턴해야한다.
		mView.setViewName("member/updateform");
		//모델(data)와 view page의 정보가 모두 담긴 ModelAndView객체를 리턴해주면
		//spring이 알아서 처리 해준다.
		return mView;
	}
	

ModelAndView

일반적으로 컨트롤러는 클라이언트의 요청을 처리하고 데이터를 준비한 후 , 이 데이터를 어떤 뷰에 전달하여 클라이언트에게 응답을 생성한다.

ModelAndView 는 데이터와 뷰에 대한 정보를 한 곳에서 관리할 수 있도록 도와준다.
데이터를 model에 추가하고 ModelAndView 객체를 선언 및 생성한다.

mView.setViewName("뷰의 경로"); mView.addObject("변수이름", 데이터값);

수정할 회원의 정보를 ModelAndView 객체의 addObject(key, value)메소드를 이용해서 담는다.
ModelAndView 객체에 담은 값은 결국 HttpServletRequest 객체에 담긴다 (request scope 에 담긴다)

그리고 ModelAndView 객체를 반환한다.

💻 결과

  • 회원 정보 수정 버튼을 누르면 !

  • 기존 회원 정보를 파라미터 값으로 받아온 정보가 있고 num은 읽기전용으로 만들었기때문에 수정되지 않음.

  • 회원 정보를 수정하고 !

  • 정상적으로 수정 되었다면 알림창이 뜨면서 리다이렉트 되면서 list 로 이동한다!

👏👏👏👏

profile
새니의 뒤죽박죽 개발 일기📝

0개의 댓글

관련 채용 정보