【发布时间】:2021-06-10 11:19:19
【问题描述】:
我正在从数据库中获取一个对象列表,并使用 th:switch 和 th:each 使用 thymeleaf 引擎在 html 页面内迭代该列表。现在我想将这个列表中每个对象的一个属性更改为另一种格式,问题是我如何在百里香的 switch 语句中的另一个列表中使用这些格式化值,以及它与第一个列表中的对应对象。
下面显示了我如何在每个对象中循环以获取 getKinachoitajika() 的值,这是一个在输出中显示为 5.0E7 的双数,现在我对其进行格式化以便显示像 50,000,000 这样的普通数字,并将这些值放入 arrItajika 的 ArrayList 中,并在循环第一个列表的对象时在 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}" 与我的 arrItajika 在 thymeleaf 中,我该如何执行此交互,或者有其他关于如何处理此问题的建议。
更新: 我已经添加了存储库文件
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();
}
【问题讨论】:
标签: java spring-boot spring-mvc java-8 thymeleaf