본문 바로가기
  • 마침표 보다 쉼표를 나타내자
프로그래밍/Spring

Thymeleaf 기본 객체

by Y코더 2023. 4. 4.
728x90

Thymeleaf 안에 여러 종류의 기본 객체로

코드를 쉽게 짤 수 있다.

( 예를 들어 문자, 숫자, 파라미터 등등 이다. )

 

예제로 화면에 출력되는 숫자를 모두 5자리로 만들어보자.

<ul>
	<li th:each="dto : ${list}">
    	[[${#numbers.formatInteger(dto.sno, 5)}]]
    </li>
</ul>

위 코드 처럼 포맷팅이 가능하다.

 

프로젝트 내 파일 ( build.gradle ) 에 아래의 구문을 추가하고

코끼리 아이콘을 클릭하면 자동으로 다운이 되나보다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
    testImplementation ('org.springframework.boot:spring-boot-starter-test') {
        exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
    }
    implementation group: 'org.thymeleaf.extras', name: 'thymeleaf-extras-java8time'
}

 

실제 사용자가 사용하는 화면에서 나타내려면

#temporals 라는 객체를 이용해서 format( )으로 처리한다.

 

 

 

자바에서 스트링으로 문자열 포멧을 정했던 것과 같은 느낌이다.

 

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
  <ul>
    <li th:each="dto : ${list}" >
<!--        <a th:href="@{/sample/exView/{sno}(sno=${dto.sno})}">[[${dto}]]</a>-->
        [[${dto.sno}]]---[[${#temporals.format(dto.regTime, 'yyyy/MM/dd')}]]
    </li>
  </ul>
</body>
</html>

 

 

기존에 나타내던 방식과 비교해보았다.

확실이 간결하고 출력되는 화면도 깔끔하다.

728x90