Thymeleaf 로 URL 맹글기 정리

Thymeleaf 로 URL 처리하는 방법 정리

sample 용 model 에 있는 board object

{
    "no": 123,
    "title": "테스트"
}

PathVariable 맹글기

<!-- 코드 -->
<a th:href="@{|/board/${board.no}|}">링크1</a>
<a th:href="@{|/board/${board.no}/${board.title}|}">링크2</a>

<!-- 생성된 html -->
<a href="/board/123">링크1</a>
<a href="/board/123/테스트">링크2</a>

Parameter(@RequestParam) 맹글기

<!-- 코드 -->
<a th:href="@{/board(no=${board.no})}">링크1</a>
<a th:href="@{/board(no=${board.no}, title=${board.title})}">링크2</a>

<!-- 생성된 html -->
<a href="/board?no=123">링크1</a>
<a href="/board?no=123&title=테스트">링크2</a>

짬뽕

<!-- 코드 -->
<a th:href="@{/board/{no}/details(no=${board.no},title=${board.title})}">링크1</a>

<!-- 생성된 html -->
<a href="/board/123/details?title=테스트">링크1</a>

꾸질꾸질 하지만 혹시 모르니 써둠

<!-- 코드 -->
<a th:href="${baseUrl + '/' + board.no}" th:with="baseUrl=@{/board}">링크1</a>

<!-- 생성된 html -->
<a href="/board/123">링크1</a>