Thymeleaf : th : each로 출력 할 때 구분 기호로 출력
소개
Thymeleaf에서 바삭바삭할 수 있는데 오랜만에 하면 잊기 쉽기 때문에 메모해 둔다.
하고 싶은 일
List등의 콜렉션에 저장된 정보를 thymeleaf로 출력할 때, 독점 「,」나 사선 「/」와 같은 단락 문자를 붙여 출력시키고 싶다.
목록 이미지
{
"Fruits": [
{
"name": "りんご"
},
{
"name": "みかん"
},
{
"name": "バナナ"
}
]
}
출력 결과
りんご、みかん、バナナ
방법
스텝 1 우선 출력
우선 출력
<th:block th:each="fruit:${fruits}">
<span th:text="${fruit.name}"></span>
</th:block>
출력 결과
りんごみかんバナナ
스텝 2 독점을 표시한다
<th:block th:each="fruit:${fruits}">
<span th:text="${fruit.name}"></span>
<span>、</span>
</th:block>
물론 이것이라면 바나나 뒤에 독점이 나옵니다.
출력 결과
りんご、みかん、バナナ、
3 단계 상태 변수의 last 매개 변수를 사용하여 조건 분기
<th:block th:each="fruit, iterStat:${fruits}"> <!-- ステータス変数はカンマ区切りで2つ目の引数として受け取れる -->
<span th:text="${fruit.name}"></span>
<span th:unless="${iterStat.last}">、</span><!-- last変数はループの最後でtrueを返します -->
</th:block>
이제 루프 끝에만 ","를 표시하지 않도록 할 수 있습니다.
출력 결과
りんご、みかん、バナナ
스테이터스 변수에는 last 이외에도 몇개의 파라미터가 있으므로, 기억해 사용하면 해피가 될 수 있을지도 모릅니다.
참고) Tutorial: Using Thymeleaf (ko) 6.2 반복 상태 유지
덤
Tutorial: Using Thymeleaf에도 쓰여졌지만 iterStat는 명시적으로 쓸 필요가 없습니다.
생략하면 반복 변수 (fruit) 뒤에 Stat이있는 변수 이름이 암시 적으로 작성됩니다.
가독성의 겸용으로 쓰는 편이 좋을까라는 생각도 듭니다만, 이쪽이 깔끔하네요.
<th:block th:each="fruit :${fruits}">
<span th:text="${fruit.name}"></span>
<span th:unless="${fruitStat.last}">、</span>
</th:block>
끝
Reference
이 문제에 관하여(Thymeleaf : th : each로 출력 할 때 구분 기호로 출력), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/yukina-ge/items/1ecf0825db85c1f66600텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)