[Spring]링크와 리다이렉트

윤재열·2022년 2월 5일
0

Spring

목록 보기
13/72

미리 정해놓은 요청을 간편히 전송하는것

  • HTML의 <a>,<form> 태그 등을 이용하여 작성할 수 있습니다.

Redirect

클라이언트에게 재요청을 지시하는것

  • 보통의 게시판을 보면 목록에서의 새글작성, 되돌아가기 라는 버튼이 있는게 정상이지만 내가 만든 브라우저에는 나타나지 않아서 이것을 Link로 만들어 보겠습니다.

1. 새글 작성 링크

  • 우선 목록페이지 localhost:8080/articles 에 새글 등록 이라는 것을 만들겠습니다.
  • index.mustache 로 들어가서 <a>태그의 href속성을 이용해 보겠습니다.
  • 이렇게 New Article이란 글을 누르게 되면 /articles/new로 이동하게 되어습니다.

2. 목록 돌아가기 링크

  • 제목과 내용이 들어가 있는 artiles/new 에 목록 돌아가기 링크를 만들겠습니다.

3. 리다이렉트

  • 이렇게 articles/new에서 새글을 작성할 건데 Submit을 눌렀을 때 만들었던 해당 데이터로 이동하고 싶습니다.
  • 하지만 에러 페이지만 뜰 뿐 아무런 페이지도 보이지 않습니다.
  • 이거를 위한 개념이 바로 리다이렉트 입니다.
  • 폼을 받는 메서드 createArticle에서 articles/create라는 URL로 Post방식으로 던져 졌을때 수행되는 코드인데 리턴값이 지금 공백 문자열입니다 . 여기에 바로 리다이렉트를 적용시켜주면 됩니다.
  • 이렇게 쓸 수 있는데 목록을 보고 싶었던 것이 아니라 1번이면 1번데이터,2번이면 2번데이터를 보고 싶은 겁니다.
  • 이처럼 위에서만든 article이 saved라는 이름으로 저장되니 saved.getId()를 getter를 호출하여 해당 아이디 값을 가져와서 1이되거나 2가 되거나 3이되면 해당 데이터를 볼 수 있습니다.
  • 근데 getter가 없네요 Article에 getter를 생성해주겠습니다.
  • 하지만 저번에 배운 Lombok을 이용하여 @Getter를 이용하여 모든 getter를 추가해줄 수 있습니다.
  • 이와 같이 원하는 대로 잘 나오는 것을 볼 수 있습니다.

4. 목록으로 돌아가기

  • 이렇게 데이터값이 나오는 페이지에서 목록으로 돌아갈 수 있게 만들어 보겠습니다.
  • 우선 articles/{id} URL을 받는 컨트롤 메서드를 찾습니다.
  • show()라는 메서드는 articles/show 라는 show.mustache 파일을 반환하므로 여기에 링크를 추가하면 됩니다.
  • table태그 밑에 /articles 링크를 넣어줍니다.
  • 이와 같이 잘 나오는 것을 볼 수 있습니다.

5. 상세정보 보기

  • 이제 여기서 TITLE의 제목을 클릭하면 상세페이지로 넘어갈 수 있게 만들어 보겠습니다.
  • 목록정보가 들어있는 뷰템플릿을 찾아보니 index.mustache입니다.
  • {{title}}부분을 <a> 태그로 감싼후 링크해 줍니다.

  • 다시 실행해보면 잘 나옵니다.'가가가가' 로 들어가면 '가가가가'에 대한 상세 정보가 나옵니다.

profile
블로그 이전합니다! https://jyyoun1022.tistory.com/

0개의 댓글