개발은 하는건가..

Thymeleaf 기본 정리 본문

SpringBoot , Thymeleaf

Thymeleaf 기본 정리

수동애비 2022. 3. 18. 10:18
반응형
// 태그에 조건에 따른 표출 설정
th:if="${조건식}"

// 태그에 클래스 추가
th:classappend="${조건? 'true일 경우 클래스' : 'false일 경우 클래스'}"


// 태그 안에 내용 넣기 (innerHtml 같은 역할이지만 태그를 escape 처리하여 그대로 출력된다.)
th:text="| 텍스트내용 ${변수} |"


// 태그 안에 내용 넣기 (태그를 escape 처리하지 않아 태그 입력 시 태그가 동작한다.)
th:utext="| 텍스트내용 ${변수} |"


// a 태그에 href 추가
th:href="@{/경로}"

// 태그에 속성을 추가  (아래 예제는 태그에  id="fname123" 과 같은 id 속성을 추가)
// 같은 방식으로  onclick 같은 이벤트도 추가 가능함.
th:attr="id=|fname${row.getPKey()}|"

// 기존 속성에 속성을 추가할 경우 
th:attrappend="id=|fname${row.getPKey()}|"

// 반복문 처리
<tr th:each="idx : ${#numbers.sequence(1, 10)}">
	<td th:text="${idx}"></td>
</tr>


// 대상 문자열이 null 일 경우 기본값 대체 (대상 값이  null 일 경우 공백으로 대체)
th:text="${#strings.defaultString(대상값, '')}"


// 테이블 <tr> 을 여러개로 반복 해야 할 경우  th:block 을 사용하면 가능
  <th:block th:each="item : ${items}">
  	<tr>
    </tr>
    .......
    <tr>
    </tr>
  </th:block>
  
  // onclick 이벤트 핸들러 적용
  <th:onclick="|location.href='xxx.htm';|">

 

// 문자열이 유효하지 않을 경우 default 값으로 대체
${#strings.defaultString(str, default)}

// 지정한 문자열이 포함되어 있는지 체크한다
${#strings.contains(str, 'abc')}

// 지정한 문자열로 시작 또는 끝나는지 체크한다
${#strings.startsWith(str,'abc')}
${#strings.endsWith(str,'abc')}

// 문자열의 좌우 공백을 제거한다
${#strings.trim(str)}

// 지정한 숫자를 넘어갈 경우 ... 으로 출력한다
${#strings.abbreviate(str,10)}

// 첫글자만 대문자로 출력한다
${#strings.capitalize(str)}

// 랜덤한 문자열을 count 만큼 생성한다
${#strings.randomAlphanumeric(count)}

 

// from ~ to 까지 step 간격의 숫자 배열을 생성
${#numbers.sequence(from,to,step)}

// 자리수 마다 , 출력
${#numbers.formatDecimal(num,3,2,'COMMA')}

// 설정한 자리수에 맞춰 앞에 0 을 채운 숫자를 반환
${#numbers.formatInteger(num,3)}

 

// 현재 시간으로 calendar 객체 생성
${#calendars.createNow()}

// 오늘 날짜로 calendar 객체 생성
${#calendars.createToday()}

// 지정한 년,월,일,시,분,초 로 calendar 객체 생성
${#calendars.create(y,m,d,h,m,second)}

 

// Javascript 영역에서  th:inline 으로 설정 시 아래와 같이 each 문으로 반복 코드도 생성 가능하다

<script th:inline="javascript">
  [# th:each="user, stat : ${users}"]
  var user[[${stat.count}]] = [[${user}]];
  [/]
</script>

 

Comments