[Thymeleaf] URL 링크

·2023년 11월 22일

Thymeleaf

목록 보기
3/4
post-thumbnail

💡URL 링크

  • 타임리프에서 URL을 생성할 때는 @{...}문법을 사용하면 된다.

BasicController

@GetMapping("/link")
public String link(Model model) {
    model.addAttribute("param1", "data1"); 
    model.addAttribute("param2", "data2");}
return "basic/link";

link.html

<h1>URL 링크</h1> 
<ul>
  <li><a th:href="@{/hello}">basic url</a></li>
  <li><a th:href="@{/hello(param1=${param1}, param2=${param2})}">hello query param</a></li>
  <li><a th:href="@{/hello/{param1}/{param2}(param1=${param1}, param2=$ {param2})}">path variable</a></li>
  <li><a th:href="@{/hello/{param1}(param1=${param1}, param2=$ {param2})}">path variable + query parameter</a></li>
</ul>
  • 단순한 URL
    • @{/hello} -> /hello
  • 쿼리 파라미터
    • @{/hello(param1=${param1}, param2=${param2})} -> /hello?param1=data1&param2=data2
    • ()에 있는 부분은 쿼리 파라미터로 처리 된다.
  • 경로 변수
    • @{/hello/{param1}/{param2}(param1=${param1}, param2=${param2})} -> /hello/data1/data2
    • URL 경로상에 변수가 있으면 ()부분은 경로 변수로 처리된다.
  • 경로 변수 + 쿼리 파라미터
    • @{/hello/{param1}(param1=${param1}, param2=${param2})} -> /hello/data1?param2=data2
    • ()안의 변수의 갯수가 {}의 갯수보다 크면 나머지 것들은 쿼리 파라미터로 자동 처리 된다.
profile
배우고 기록하며 성장하는 백엔드 개발자입니다!

0개의 댓글