인프런 커뮤니티 질문&답변

Rtseeq님의 프로필 이미지
Rtseeq

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

타임리프 관련 질문 ( onclick , href )

작성

·

803

0

안녕하세요?

타임리프 수업중에 이해가 안가는 부분이 있어서 질문드립니다.

강의 내용 중에 item.html을 보면

상품명 부분에  th:href="@{|/basic/items/${item.id}|}이 부분을

th:onclick="|location.href='@{/basic/items/{itemId}(itemId=${item.id})}'|"

이렇게 바꿨을 때 왜 동작을 안할까요??

상품목록 페이지에서 상품명 부분을 클릭했을 시 해당 item의 정보를 보여주니까

문제가 없다고 생각했는데 안되는게 궁금하네요 ㅜㅜ 

답변 1

1

안녕하세요, KIHWAN SEO 님. 공식 서포터즈 codesweaver 입니다.
.
a 태그의 href 속성이 아래와 같이 되어있지 않은지 확인해주시기 바랍니다.

<a href="item.html"
th:onclick="|location.href='@{/form/items/{itemId}(itemId=${item.id})}'|"
th:text="${item.itemName}">상품명</a></td>

이 경우, 상품명을 클릭하게 되면, onclick 이 처리되기 이전에 href 에 의해 item.html으로 이동하는 처리가 먼저 진행됩니다. 그렇게 되면 id 값이 없는 상세 페이지로 이동하게 되기에, Whitelabel 페이지가 보이게 됩니다. 해당 href 부분을 # 으로 처리하게 되면 onclick 이벤트가 정상적으로 처리 됩니다.

.<a href="#"
th:onclick="|location.href='@{/form/items/{itemId}(itemId=${item.id})}'|"
th:text="${item.itemName}">상품명</a></td>


감사합니다.

Rtseeq님의 프로필 이미지
Rtseeq
질문자

해결되었습니다. 감사합니다!

Rtseeq님의 프로필 이미지
Rtseeq

작성한 질문수

질문하기