こんにちは。
Javaについて初学者なので拙いところもあると思いますが、よろしくお願いします。
実現したいこと
テーブルの各行にボタンがあり、行ごとに違うパラメータをもっていて、HogeList内のそのパラメータと一致する値を持ったデータを次のページで表示する処理を作成しています。
具体的には、POST処理でのパラメーターを引数にして、その引数と一致するデータをListからfilterで探索してmodelとしてHogePageに返したいです。
しかし、書き方がおかしいのか1つもデータが返ってきません。
どこがおかしいのでしょうか。
回答よろしくお願いします。
###コード
HTML
HTML
1<table> 2<tr th:each="item: ${FugaList}"> 3 <td th:text="${item.~}"></td> 4<!-- 中略 --> 5 <td> 6 <form action="/hogePage" method="post"> 7 <button type="submit" name="hogeParam" th:value="${item.hogeParam}"></button> 8 </form> 9 </td> 10 11</tr> 12</table>
Controller
Java
1@PostMapping("/hogePage") 2 public String getHogeList(Model model,@RequestParam("hogeParam")String hogeParam){ 3 List<HogeList> HogeList = hogeRepository.findAll() 4 .stream() 5 .filter(a -> a.getHogeParam() == HogeParam) //HogeListのHogeParamカラムから引数と一致するデータを探索 6 .collect(Collectors.toList()); //List化 7 //stream以下をコメントアウトすれば全件表示される 8 9 model.addAttribute("HogeList", HogeList); 10 11 return "hogePage"; 12 13 }
Repository
Java
1public interface HogeRepository extends JpaRepository<HogeList, Integer> { 2}
hogePage
HTML
1<table> 2 <tr th:each="item: ${HogeList}" > 3 <td th:text="${item.~}"></td> 4 <!-- 中略 --> 5 </tr> 6</table>
補足情報
Eclipse 2020 Java FullEdition
AmazonCorretto jdk15.0.2_7
SpringBoot 2.4.3
MySQL 8.0.23
Windows10 Pro 1909
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。