조회페이지/수정/삭제 페이지

Shaun·2021년 8월 6일
0

project

목록 보기
2/9

1

1.service 인터페이스에 read 을 선언해주고 serviceImpl 클래스에서 구현해준다.

2.게시글 번호 (gno)를 눌러서 detail 페이지로 들어가기 때문에 파라미터는 Long gno로 설정 해준다.

3.리턴값이 있으면(게시글 번호에 해당 글)이 있으면, entity ->dto 로 변환후 반환해준다.

2

1.controller에서는 get방식으로 gno값을 받아서 Model에 GuestbookDTO 객체를 담아서 전달 한다.

잠깐! @ModelAttribute가 뭐야??

  • @ModelAttribute()가 붙은 객체는 Model객체에 자동으로 추가된다. 즉 model.addAttriubute 를 하지 않아도 view단에서 쓸수 있다는 소리다.

  • 파라미터로 넘겨준 타입의 오브젝트를 자동으로 생성한다. 사용자가 하는 것이 아닌 스프링에서 제공해주는 어노테이션으로 클래스에 Getter, Setter가 만들어져 있어야 한다.

  • Http로 넘어간 오브젝트가 url로 넘어온 값들을 자동으로 바인딩 해준다. 즉 쉽게 말하자면, url 창으로 abc(컬럼) = "33" ccc(컬럼)="hi" 이렇게 값이오면 그 클래스에 해당하는 컬럼으로 자동으로 데이터가 수집된다는 소리다.

3


조회(Detail) 페이지는 등록 화면과 유사하지만 readonly속성이 적용되고 다시 목록페이지로 이동하는 링크와 수정과 삭제가 가능한 링크 제공한다.

4

삭제와 수정 버튼도(링크포함) 만들어 준다.

수정과 삭제

조회(detail)페이지에서 만들어준다

  1. 목록페이지로 가는 버튼
    2.수정버튼
    3.삭제버튼

get방식 수정 페이지

조회 페이지와 수정 페이지 html틀은 같으므로 그대로 복사해준다.

복사한 수정 페이지에서 POST방식을 추가해주고 수정할부분에 readonly를 지워 준다.

수정 메서드 만들기



1.service interface 에 수정 삭제 선언한뒤 serviceImpl 에서 구현한다.

2.수정할떄 사용한 메서드는 엔티티에 선언해뒀다.

3.여기서 GuestbookDTO dto 는 수정내용 DTO이다.

삭제 만들기/삭제 이벤트 처리

post 방식으로 gno 값을 전달하고 삭제 후 다시 목록의 첫페이지로 이동한다,

삭제버튼은 수정페이지에서 누를수 있게 만든다.(수정페이지 일부)

1.remove 버튼을 클릭하면 <form.> 태그의 action 속성과 method 속성을 조정한다.

2.form 태그 내에는 input 태그로 gno가 있기 때문에 컨트룰러에서는 여러 파라미터중에서 gno를 추출해서 삭제 시에 이용하게된다. 삭제후에는 목록 페이지로 이동

3.삭제는 따로 html페이지가 필요없어서 조금은 특이한 방법으로 처리한다.

수정 post 페이지

  • 수정시에 수정해야하는 내용(제목,내용,글번호)이 전달 되어야한다.

  • 수정된 후에는 목록페이지로 이동 or 조회 페이지로 이동. 가능하면 기존의 페이지 번호를 유지!

GuestbookDTO =수정해야 하는 글 정보를 가지는 DTO
PageRequestDTO= 기존 페이지 정보를 유지하기위한
RedirectAttributes = 리다이랙트로 정보 이동을 위한

수정이 완료된 후에도 다시 동일한 정보를 유지할수 있도록 page값 역시 form 태그에 추가해서 전달한다.(수정 페이지 일부)

※ 디테일페이지와 수정페이지에 들어올떄 링크( gno 값 과 page값) 을 받는다.

수정 이벤트(버튼)

수정화면에서 다시 목록페이지로

버튼 이벤트에 대한 설명은 위에서 한번 한적이 있어서 생략 하겠다.

profile
호주쉐프에서 개발자까지..

0개의 댓글

관련 채용 정보