[Day 6] 게시판 내 페이지 이동
1. 링크(link)와 리다이렉트(redirect)
링크(link)란?
미리 정해 놓은 요청을 간편히 전송하는 기능으로, 보통 페이지 이동을 위해 사용.
<a> or <form> 태그로 작성하며 클라이언트가 링크를 통해 어느 페이지로 이동하겠다고 요청하면 서버는 결과 페이지를 응답
리다이렉트(redirect)란?
클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것. 이를 통해 분리된 기능을 하나의 연속적인 흐름으로 연결. 리다이렉트(재요청)를 지시받은 클라이언트는 해당 주소로 다시 요청을 보내고 서버는 이에 대한 결과를 응답
2. 페이지 연결하기
1. 새 글 작성 링크 만들기
src > main > resources > templates > articles > index.mustache 에
<a href="/articles/new">New Article</a>
추가
New Article 링크 클릭 → /articles/new 페이지 이동
2. <입력 페이지> → <목록 페이지> 돌아가기
src > main > resources > templates > articles > new.mustache에
<a hef="/articles">Back</a>
추가
Back 링크 클릭 → /articles 페이지 이동
3. <입력 페이지> → <상세 페이지> 돌아가기
com.example.firstproject > controller > ArticleController 수정
com.example.firstproject > entity > Article에 @Getter 추가(getId()쓰기 위해)
※ Getter() 메서드는 외부에서 객체의 데이터를 읽을 때 사용하는 메서드
Submit 버튼 클릭 → /articles/id 페이지 이동
4. < 상세 페이지> → <목록 페이지> 돌아가기
src > main > resources > templates > articles > show.mustache에
<a href="/articles">Go to Article List</a>
추가
왜 show.musatche이냐? /articles/{id}를 받는 컨트롤러의 메서드가 show()라서
5. < 목록 페이지> → <상세 페이지> 돌아가기
src > main > resources > templates > articles > index.mustache에
<a href="/article/{{id}}">{{title}}</a>
수정
해당 title 버튼 클릭 → /articles/해당 id 페이지 이동