1. 개요

이 빠른 사용방법(예제)에서는 Thymeleaf에서 배열을 사용하는 방법을 살펴 보겠습니다. 쉬운 설정을 위해 스프링 부트 이니셜 라이저를 사용하여 애플리케이션을 부트 스트랩 할 것입니다.

Spring MVC 및 Thymeleaf의 기본 사항은 여기 에서 찾을 수 있습니다 .

2. Thymeleaf 의존성

우리에서 의 pom.xml 파일의 단지 우리가 추가 SpringMVC와 Thymeleaf 필요 종속 관계 :

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

3. 컨트롤러

단순화를 위해 GET 요청 을 처리하는 하나의 메서드 만있는 컨트롤러를 사용하겠습니다 .

이는 뷰에 액세스 할 수 있도록 모델 객체에 배열을 전달하여 응답합니다.

@Controller
public class ThymeleafArrayController {
 
    @GetMapping("/arrays")
    public String arrayController(Model model) {
        String[] continents = {
          "Africa", "Antarctica", "Asia", "Australia", 
          "Europe", "North America", "Sourth America"
        };
        
        model.addAttribute("continents", continents);

        return "continents";
    }
}

4.보기

보기 페이지에서 위의 컨트롤러 에서 전달한 이름 (대륙)으로 배열 대륙액세스 할 것 입니다.

4.1. 속성 및 색인

우리가 검사 할 첫 번째 속성 중 하나는 배열의 길이입니다. 이것이 우리가 그것을 확인할 수있는 방법입니다 :

<p>...<span th:text="${continents.length}"></span>...</p>

뷰 페이지에서 가져온 위의 코드 스 니펫을 보면 th : ​​text 키워드가 사용 된 것을 알 수 있습니다 . 우리는 중괄호 안에 변수 값을 출력하는데 사용했습니다.이 경우에는 배열의 길이입니다.

결과적으로 우리는 일반적인 Java 코드에서 사용하는 것처럼 인덱스로 배열 대륙 의 각 요소 값에 액세스합니다 .

<ol>
    <li th:text="${continents[2]}"></li>
    <li th:text="${continents[0]}"></li>
    <li th:text="${continents[4]}"></li>
    <li th:text="${continents[5]}"></li>
    <li th:text="${continents[6]}"></li>
    <li th:text="${continents[3]}"></li>
    <li th:text="${continents[1]}"></li>
</ol>

위의 코드 조각에서 보았 듯이 각 요소는 인덱스를 통해 액세스 할 수 있습니다. 여기 에서 T hymeleaf의 표현식에 대해 자세히 알아볼 수 있습니다 .

4.2. 되풀이

마찬가지로 배열의 요소를 순차적으로 반복 할 수 있습니다 .

Thymeleaf에서이를 달성하는 방법은 다음과 같습니다.

<ul th:each="continet : ${continents}">
    <li th:text="${continent}"></li>
</ul>

th : ​​each 키워드를 사용하여 배열 요소를 반복 할 때 List 태그 만 사용하도록 제한되지 않습니다. 페이지에 텍스트를 표시 할 수있는 모든 HTML 태그를 사용할 수 있습니다. 예를 들면 :

<h4 th:each="continent : ${continents}" th:text="${continent}"></h4>

위 코드 스 니펫에서 각 요소는 별도의 <h4> </ h4> 태그에 표시됩니다.

4.3. 유틸리티 기능

마지막으로 유틸리티 클래스 함수를 사용하여 배열의 다른 속성을 조사 할 것입니다.

이것을 살펴 보자 :

<p>The greatest <span th:text="${#arrays.length(continents)}"></span> continents.</p>

<p>Europe is a continent: <span th:text="${#arrays.contains(continents, 'Europe')}"></span>.</p>

<p>Array of continents is empty <span th:text="${#arrays.isEmpty(continents)}"></span>.</p>

먼저 배열의 길이를 쿼리 한 다음 Europe 이 배열 대륙 의 요소 인지 확인합니다 .

마지막으로 배열 대륙  이 비어 있는지 확인합니다 .

5. 결론

이 기사에서는 길이를 확인하고 인덱스를 사용하여 요소에 액세스하여 T hymeleaf 에서 배열로 작업하는 방법을 배웠습니다 . 또한 Thymeleaf 내에서 요소를 반복하는 방법도 배웠습니다.

마지막으로, 배열의 다른 속성을 검사하기 위해 유틸리티 함수를 사용하는 것을 보았습니다.

항상 그렇듯이이 기사의 전체 소스 코드는 Github 에서 찾을 수 있습니다 .