오봉이와 함께하는 개발 블로그

스프링 MVC 2 - 타임리프 연산 본문

BE/Thymeleaf

스프링 MVC 2 - 타임리프 연산

오봉봉이 2022. 8. 16. 23:34
728x90

연산

타임리프 연산은 자바와 크게 다르지 않다.
HTML안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분만 주의하자.

코드 추가, 결과

@GetMapping("/operation")
public String operation(Model model) {
    model.addAttribute("nullData", null);
    model.addAttribute("data", "Spring!");
    return "basic/operation";
}

~~html

Title
  • 산술 연산
    • 10 + 2 =
    • 10 % 2 == 0 =
  • 비교 연산
    • 1 > 10 =
    • 1 gt 10 =
    • 1 >= 10 =
    • 1 ge 10 =
    • 1 == 1 =
    • 1 != 1 =
  • 조건식
    • (10 % 2 == 0)? '짝수':'홀수' =
  • Elvis 연산자
    • ${data}?: '데이터가 없습니다.' =
    • ${nullData}?: '데이터가 없습니다.' =
  • No-Operation
    • ${data}?: _ = 데이터가 없습니다.
    • ${nullData}?: _ = 데이터가 없습니다.
~~~
산술 연산
    10 + 2 = 12
    10 % 2 == 0 = true
비교 연산
    1 > 10 = false
    1 gt 10 = false
    1 >= 10 = false
    1 ge 10 = false
    1 == 1 = false
    1 != 1 = true
조건식
    (10 % 2 == 0)? '짝수':'홀수' = 짝수
Elvis 연산자
    ${data}?: '데이터가 없습니다.' = Spring!
    ${nullData}?: '데이터가 없습니다.' = 데이터가 없습니다.
No-Operation
    ${data}?: _ = Spring!
    ${nullData}?: _ = 데이터가 없습니다.

설명

비교연산 : HTML 엔티티를 사용해야 하는 부분을 주의
-> >(gt), <(lt), >=(ge), <=(le), !(not), ==(eq), !=(neq, ne)

조건식 : 자바의 조건식과 유사하다
-> <span th:text="(10 % 2 == 0)? '짝수':'홀수'"> 조건이 참이면 왼쪽, 거짓이면 오른쪽

Elvis 연산자 : 조건식의 편의 버전
-> <span th:text="${data}?: '데이터가 없습니다.'"></span>에서 ${data}에 값이 있으면 해당 값이 출력되고, 없으면 :(콜론) 옆에 있는 값이 출력된다.

No-Operation : _인 경우 마치 타임리프가 실행되지 않는 것 처럼 동작한다.
-> <span th:text="${nullData}?: _">데이터가 없습니다.</span>에서 ${nullData}에 값이 있으면 해당 값이 출력되지만 값이 없다면 HTML 태그 안에 있는 것이 출력된다.
-> 즉 아무 것도 하지 않는 효과를 낸다.
-> 잘 활용하면 HTML의 내용을 그대로 활용할 수 있다.

출처 : 인프런 김영한 지식공유자님 강의 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
728x90
Comments