CodeJ.log
로그인
CodeJ.log
로그인
[Spring]링크와 리다이렉트
윤재열
·
2022년 2월 5일
팔로우
0
Spring
0
Spring
목록 보기
13/72
Link
미리 정해놓은 요청을 간편히 전송하는것
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>
태그로 감싼후 링크해 줍니다.
다시 실행해보면 잘 나옵니다.'가가가가' 로 들어가면 '가가가가'에 대한 상세 정보가 나옵니다.
윤재열
블로그 이전합니다! https://jyyoun1022.tistory.com/
팔로우
이전 포스트
[Spring]데이터 목록 조회
다음 포스트
[Spring]수정 폼 만들기
0개의 댓글
댓글 작성