티스토리 뷰

WEB/Template Engine

[Thymeleaf] URLs Link

MAENCO 2021. 9. 1. 22:26
반응형

타임리프의 URL 링크 사용법과 param값을 활용한 URL 작성법을 살펴보려 한다

 

URLs Link : @{...}

타임리프에서 링크를 포함한 URL을 사용할 때는 @{...} 표현식을 사용한다

//서버측에서 model에 두개의 값을 전달 
public String urlsLink(Model mode) {
    model.addAttribute("paramA", "dataA");
    model.addAttribute("paramB", "dataB");
    return "example/urlsLink";
}

//Thymeleaf 예시

//가장 기본적인 url
<a th:href="@{/link}">basic url</a>
//실제 URL 출력 예시 -> /link

//쿼리 파라미터
<a th:href="@{/link(paramA=${paramA}, paramB=${paramB})}">query param</a> 
//실제 URL 출력 예시 -> /link?paramA=dataA&paramB=dataB

//경로 변수
<a th:href="@{/link/{paramA}/{paramB}(paramA=${paramA}, paramB=${paramB})}">path variable</a>
//실제 URL 출력 예시 -> /link/dataA/dataB

//경로 변수 + 쿼리 파라미터
<a th:href="@{/link/{paramA}(paramA=${paramA}, paramB=${paramB})}">path + param</a>
//실제 URL 출력 예시 -> /link/dataA?paramB=dataB

기본적인 URL 작성 외에도 ( )을 사용하여 데이터를 정의해주면 타임리프가 파라미터로 인식하여 자동으로 key=value값으로 쿼리 파라미터를 생성해준다, 또한 경로 변수를 사용할 때도 해당 값을 ( ) 안에 정의해주면 해당 데이터로 경로 변수가 설정된다.

또한 경로변수와 쿼리 파라미터를 적절하게 섞어 사용할 수도 있다

 

더보기

개인 학습을 위해 작성되는 글입니다.

제가 잘못 알고 있는 점에 대한 지적 / 더 나은 방향에 대한 댓글을 환영합니다.

 

참조 링크:

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-2/dashboard

https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html

 

반응형
댓글