타임리프 연산

신창호·2022년 11월 23일
0

thymeleaf

목록 보기
3/4
post-thumbnail

타임리프 연산

  • 연산은 자바와 비슷하다.
  • 단, HTML안에서 사용하기 때문에 HTML 엔티티를 사용하는 부분은 조심하자
    • [링크테스트](./타임리프%20기본기능.md

예시

Controller

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



산술연산

  • " "안에서 산술연산이 된다.
<body>
  <li>산술 연산
    <ul>
      <li>"10 + 2" = <span th:text="10 + 2"></span></li>
      <li>"10 % 2" == 0 = <span th:text="10 % 2 == 0"></span></li>
    </ul>
  </li>
</body>



비교연산

  • < ,==, > , <=, >=, ! ,!=
  • 위 기호들은 HTML 엔티티를 사용해야 적용할 수 있다.
    • > (gt)
    • < (lt)
    • >= (ge)
    • <= (le)
    • ! (not)
    • == (eq)
    • != (neq, ne)
<body>
  <li>비교 연산
    <ul>
      <li>1 > 10 = <span th:text="1 &gt; 10"></span></li>
      <li>1 gt 10 = <span th:text="1 gt 10"></span></li>
      <li>1 >= 10 = <span th:text="1 >= 10"></span></li>
      <li>1 ge 10 = <span th:text="1 ge 10"></span></li>
      <li>1 == 10 = <span th:text="1 == 10"></span></li>
      <li>1 != 10 = <span th:text="1 != 10"></span></li>
    </ul>
  </li>
</body>






조건식

  • 자바의 ?조건식과 유사하다.
<body>
    <ul>
      <li>(10 % 2 == 0)? '짝수':'홀수' = <span th:text="(10 % 2 == 0)? '짝수':'홀수'"></span></li>
    </ul>
</body>






Elvis 연산자

  • 연산자가 Elvis를 닮았다고 해서 붙여진 이름이다.
  • ?: 앞의 값이 있으면 앞의 값을, null 이면 뒤의 값을 출력한다.
<body>
  <ul>
    <li>${data}?: '데이터가 없습니다.' = <span th:text="${data}?: '데이터가없습니다.'"></span></li>
    <li>${nullData}?: '데이터가 없습니다.' = <span th:text="${nullData}?: '데이터가 없습니다.'"></span></li>
  </ul>
</body>






NO-Operation

  • _인 경우 마치 타임리프가 실행되지 않는 것 처럼 동작한다.
<body>
<li>No-Operation
  <ul>
    <li>${data}?: _ = <span th:text="${data}?: _">데이터가 없습니다.</span></li>
    <li>${nullData}?: _ = <span th:text="${nullData}?: _">데이터가없습니다.</span></li>
  </ul>
</li>
</body>
  • 2번째 예시를 보면, 타임리프의 값을 쓰지않고, HTML 기본값 그대로 쓰는 것을 볼 수 있다.
profile
한단계씩 올라가는 개발자

0개의 댓글