카테고리 없음

게시판 내 페이지 이동하기

jgs7784 2024. 8. 20. 17:51
728x90
반응형

링크와 리다이렉트

 

일반적인 게시판을 보면 버튼을 누르면 어떤 페이지로 넘어가고, 되돌아 갈 수도 있고, 목록 버튼을 누르면 목록이 나오는 등의 링크가 구현되어 있다.

 

링크 : 미리 정해 놓은 요청을 간편히 전송하는 기능, 페이지 이동을 위해 사용한다.

HTML  <a> ,<form> 태그로 작성, 

클라이언트가 링크를 통해 어느 페이지로 이동하겠다고 요청하면 서버는 결과 페이지를 응답

 

<a> <form> : 미리 정해 놓은 요청을 간편히 전송

 

클라이언트가 요청을 보낼 때 한번에 해결되지 않을 때가 있다.

이런 경우 요청을 하면 요청의 일부만 처리하고 나머지는 다른 링크를 통해 해결하도록 할 수있따

 

리다이렉트 redirect : 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것

분리된 기능을 하나의 연속적인 흐름으로 만든다

리다이렉트(재요청) 을 받은 클라이언트는 그 주소로 다시 요청을 보내고, 서버는 또 그 요청을 해결 or 리다이렉트 한다.

 

 

지금까지 만든 서버는 /articles 에 들어가면 빈 게시판이 나온다. 이 떄 새 글을 작성하기 위한 링크가 없다.

사용자가 직접 url로 /articles/new 페이지에 접속해야 새글 작성이 가능하다.

입력 페이지에도 마찬가지로 제출만 가능하고 목록으로 돌아가는 등의 연결고리가 없다.

 

--- 새글 작성 링크 만들기

/articles 에서 바로 새 글을 작성하러 갈 수 있는 링크만들기

/articles 에서는 index.mustache  가 보여지는 중

<a href="/articles/new">New Article</a> 로, 클릭하면 새로운 글 작성하는 페이지로 이동시켜줌

 

글 쓰고 나서 기존에는 /articles/create 로 갔지만 뷰 페이지가 없었음

이제는 글 작성시 작성한 글 세부 페이지 (/articles/id) 로 이동시키도록

,createArticle 메서드의 return 부분은 "redirect:/articles/" + saved.getId(); 로 변경

 

이제 글 submit 버튼을 누르면 작성한 글의 id 의 페이지로 바로 이동

 

 

상세 페이지에서 목록 페이지로 돌아가기

show.mustache -> index.mustache 로 이동하기만 하면 된다.

<a href = "/articles"> Go to Article List </a>

 

 

목록 페이지에서 상세페이지로 이동하기

제목을 클릭하면 해당 글 상세 페이지로 이동할 수 있도록 만들자

index.mustache 에서 클릭한 제목의 id번째 show.mustache로 이동하게 만든다.

<td> {{title}} </td> 였던 기존의 코드를

<td> <a href = "/articles/{{id}}">{{title}}</a></td> 로 변경

제목에 링크를 걸어서 /articles/id 로 이동할 수 있도록 한다.

 

 

반응형