blog - 11

Lumi·2021년 8월 21일
0

project

목록 보기
14/16
post-thumbnail

글 상세보기

Controller

  • 컨트롤러를 통해서 Model에 값을 담아서 전송을 한다.

Service

  • int 값을 넣게 되고 해당 값에 해당하는 Id값을 찾아서 reutrn 해준다.

detail.jsp

  • 들어오는 board의 id값에 해당하는 DB에서 title과 content를 화면에 표기하면 간단하게 구성할수가 있다.

글 삭제하기

Controller

  • DeleteMapping을 사용하여 들어오는 값을 받고 url에 파싱한뒤 Service의 삭제 메서드를 실행한다.

Service

detail.jsp

  • 글번호의 id 값을 담아서 js로 전송을 하게 된다.
    -> board안에 user가 담겨있으니 username을 연관 지어서 불러올수가 있다.

Eager타입으로 미리 선언은 해놓았기 떄문에 따로 부르지 않아도 같이 값이 따라오는 것이다.

<c:if> 를 사용하여 조건문을 만들어 주었고 조건은
board.user.id가 UserDetail의 user.id와 같을떄 삭제 버튼이 보이게 만들어 주었다.

  • 코드의 효과는 글을 작성한 사용자만이 글을 지울수 있게 만들어 준다.

board.js

  • Pathvariable을 사용하기 떄문에 id 값을 담아서 보내주게 된다.

이떄 value를 사용 하면 안되는데 이유는 id 값을 찾아서 detail에 있는 text값을 뽑아와야 하기 떄문이다.

따른 js 코드들은 value값을 뽑아오는데 글 번호라는 항목에 id 값에 해당하는 값이 화면이 보여지기 떄문에 그 text를 뽑아 오는 것이다.
==> 이부분은 나도 아직 좀 헷갈리는 부분이다.

글 수정하기

detail.jsp

  • 삭제 버튼과는 별개로 버튼을 누를시에 새로운 페이지로 이동을 하게 만들어 주었다.(board의 id값으로 지정한 url)

updateform.jsp

  • 화면을 구성하는 요소이다.

type= hidden을 하나 추가해 주었고(id값을 들고 다닐수 있게)
버튼을 누를시 js가 발동되게 수정을 해주었다
-> 거의다 글쓰기,삭제하기와 비슷하다.

board.js

  • 어려운 점은 없는거같고 url을 통해서 수정이기 떄문에 PUT요청을 하여 값을 전해주는 것으로 해주었다.

Controller

  • 버튼을 누를시에 페이지를 연결해주는 Get호출이다.
  • model을 통해서 값을 가지고 홈페이지로 가져가게 해주었다.(id에 해당하는 board값을 가지고 간다.)

ApiController

  • js를 통해서 들어오는 값을 '수정' 이라는 Service의 메서드에 값을 넣어준다.

Service


-> 영속화를 위해서 일단 id에 해당하는 값을 찾아주고 그 값을 수정한뒤 save한다.

  • save메서드가 없는이유는 Transactional에 의해서 자동으로 메서드 종료시에 값이 저장되기 떄문이다.
profile
[기술 블로그가 아닌 하루하루 기록용 블로그]

0개의 댓글