본문 바로가기

개발/Front-end

[Springboot/Thymeleaf] thymeleaf 사용 기록

Thymeleaf

  • a 태그 href 에 get 요청 url 삽입
<a th:href="@{/calandar(month=${currentmonth},year=${currentyear-1})}">Click!</a>

위 코드는

@GetMapping("/calandar")
    public String example(@RequestParam(value="month", required=false) String reqMonth, @RequestParam(value="year", required=false) String reqYear)  {
        ...
}

이 controller 와 매칭된다.

${currentmonth} 이렇게 작성하면 서버에서 넘겨주는 값을 링크에 포함시킬 수도 있다.

그 옆 ${currentyear-1} 은 currntyear(숫자타입으로 넘어온다면)에서 1값을 빼준다.

  • 조건에 따라 다른 텍스트 출력

spring boot에서 주어진 값에 따라 출력되는 정보를 다르게 하고 싶다면,

<label th:text="${currentmonth}==12 ? 1 : ${currentmonth+1}"></label>

삼항연산자로 해결할 수 있다.

이 경우, 주어진 currntmonth 값이 12이면 1로 출력되고, 아니면 +1 한 값을 출력시켜준다.

  • 반복문

td 태그 작성 시 빈번하게 사용된다.

<th:block th:each="num: ${#numbers.sequence(1,8)}">
                        <td><textarea th:class="@{'day-'+${num}}"
                                th:classappend="'day-'+${num}"></textarea></td>
                    </th:block>

th:each="num: ${#numbers.sequence(1,8)}" 이 부분에 따라 총 8번 반복하게되고

여기서 사용된 num은 th:class="@{'prev-sales-'+${num}}" 이렇게 재사용 가능하다.

  • javascript 내 model 값 사용
var message = /*[[${message}]]*/
if(message!=null)
{
    alert(message);
}

var message = /*[[${message}]]*/

넘겨준 message 값이 바인딩된다.