데이터베이스에서 개체 목록 하나를 얻고 th : switch 및 th : each를 사용하여 thymeleaf 엔진으로 html 페이지 내부의 해당 목록을 반복합니다. 이제이 목록의 각 개체에서 하나의 속성을 다른 형식으로 변경하고 싶습니다. 문제는 첫 번째 목록의 해당 개체와 함께 thymeleaf의 switch 문에서 다른 목록 내에서 형식이 지정된 값을 사용하는 방법입니다.
아래는 출력에서 5.0E7로 나타나는 이중 숫자 인 getKinachoitajika () 의 값을 얻기 위해 모든 객체 내부를 반복하는 방법을 보여줍니다 . 이제는 50,000,000과 같은 일반 숫자를 표시하도록 형식을 지정하고 해당 값을 ArrayList와 의 arrItajika 과 첫 번째 목록의 개체를 통해 반복하면서 HTML 파일 내부를 사용합니다.
@GetMapping("/joinMichangoQuery")
public String kandaAndParokia(Model model){
List<Kmichango> listKandaAndParokia = kMichangoRepository.findAll();
ArrayList arrItajika = new ArrayList<>();
for(int i=0; i< listKandaAndParokia.size(); i++){
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(0);
arrItajika.add(nf.format(listKandaAndParokia.get(i).getKinachoitajika()));
}
model.addAttribute("listKandaAndParokia", listKandaAndParokia);
model.addAttribute("itajikaFromated", arrItajika);
return "michango_joined";
}
이제 michango_joined.html 내부에서 각 개체의 모든 값을 반복하고 아래와 같이 테이블에 표시합니다.
<div th:switch="${listKandaAndParokia}" class="container my-5">
<h2 th:case="null">No Michango</h2>
<div th:case="*">
<table class="table table-bordered table-striped table-responsive-md">
<thead class="thead-dark">
<tr>
<th>ID</th>
<th>KandaID</th>
<th>Kinachohitajika</th>
<th>Kilichopatikana</th>
<th>Hali</th>
<th>Jina La Mchango toka Parokia Michango</th>
<th></th>
</tr>
</thead>
<tbody>
<tr th:each="kMchango : ${listKandaAndParokia}">
<td th:text= "${kMchango.id}"></td>
<td th:text= "${kMchango.kandaId.kandaName}"></td>
<td th:text= "${kMchango.kinachoitajika}"></td>
<td th:text= "${kMchango.kilichopatikana}"></td>
<td>[[${kMchango.mchangoParokia.status}]]</td>
<td th:text= "${kMchango.mchangoParokia.mchangoJina}"></td>
</tr>
</tbody>
</table>
</div>
</div>
이제 ArrayList arrItajika 의 값을 스위치 내의 각 해당 개체와 함께 표시하려고합니다. 즉,이 "$ {kMchango.kinachoitajika}" 를 thymeleaf 내부의 arrItajika로 바꾸고 싶습니다. 어떻게이 상호 작용을 수행합니까? 어떻게 처리 할 수 있는지에 대한 또 다른 제안이 있습니다.
업데이트 : 리포지토리 파일을 추가했습니다.
public interface KmichangoRepository extends JpaRepository <Kmichango, String> {
@Query(value = "SELECT * FROM michango_kanda INNER JOIN michango ON michango_kanda.mchango_code = michango.mchango_code",nativeQuery = true)
public List<Kmichango> getKandaAndParokiaByMichangoCode();
}
두 목록의 색인이 같으면 th:each
색인과 함께 사용할 수 있습니다 . Thymeleaf-인덱스로 목록을 반복하는 방법을 참조하십시오.
<tr th:each="kMchango,iter: ${listKandaAndParokia}">
...
<td th:text= "${itajikaFromated[iter.index]}"></td>
...
</tr>
또는 Kmichango
형식이 지정된 값인 추가 필드와 결합되는 새 클래스를 만들고 새 클래스 유형의 요소가있는 모델에 목록이 하나만 있습니다.
마지막으로 템플릿 자체에서 서식을 지정할 수도 있습니다.
<span th:text="${#numbers.formatDecimal(kMchango.kinachoitajika, 0, 'COMMA', 2, 'POINT')}">
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다