인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

박경표님의 프로필 이미지
박경표

작성한 질문수

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

상품 목록 - 타임리프

리터럴 대체 ||과 @관련된 질문

작성

·

218

0

리터럴 문자||의 위치가 헷갈려 여러가지 테스트를 해보는 중에 "리터럴 대체 문자"와 "링크표현식  @"관련해서 질문이 있어 문의드립니다.

 

강의예시에 나온 

th:onclick="|location.href='@{/basic/items/add}'|"

위의경우 리터럴대체문자안에 링크표현식을 넣은경우 정상적으로 작동이 되고있는데

강의 예시에 나온

th:href="@{|/basic/items/${item.id}|}

위의 표현식을

|@{/basic/items/${item.id}}|

로 바꿔서 테스트를 해봤더니

소스보기로 

/basic/items/${item.id} 로나오고있어 정상작동이

되지 않는 것을 확인하였습니다.

 

저의 현재 생각으로는 ${item.id}는 변수표현식으로 1로 바뀌고 그이후 링크 표현식이 적용되고 그이후 리터럴 문자가 적용되서  /basic/items/1 이거처럼 문제없이 나와야된다고 생각했는데 혹시 리터럴문자와 링크 @표현식에 적용되는 규칙이 있는걸까요??

 

(|location.href='@{/basic/items/add}'|이게 정상작동되는걸보고 테스트 해봤었음)

답변 1

0

안녕하세요. 박경표님, 공식 서포터즈 OMG입니다.

아래의 영한님의 답변에서도 확인하실 수 있듯이

"리터럴 대체 표현식 |은 단순한 경우에만 동작합니다."

단순하게 동작한다는 말은 바꿔말하면 기본적으로 타임리프에서 정의해놓은 규칙을 벗어나면 예상한대로 작동하지 않을 수 있다는 말로 이해하셔도 좋을 것 같습니다.

 

참고

안녕하세요 타임리프 질문입니다 - 인프런 | 질문 & 답변 (inflearn.com)

 

감사합니다.

추가로 아시면 도움이 될만한 정보를 소개해드리고 싶은데요. 아래의 내용도 읽어보시길 권장드립니다:)

참고

th:onclick에서 굳이 @{경로} 쓰는 이유가? - 인프런 | 질문 & 답변 (inflearn.com)

박경표님의 프로필 이미지
박경표

작성한 질문수

질문하기