前提・実現したいこと
SpringBootのThymeleafを使用して、プルダウンリストで選択された値を
取得したいです。
実現したい画面は、プルダウンリスト、検索ボタン、検索結果の一覧
があります。
動作したい内容は、
①プルダウンリストから一つ選択
②検索ボタン押下
③検索結果を一覧表示する
です。
②検索ボタン押下時に①で選択された値の取得方法をご教授ください。
該当のソースコード
html
1<tr> 2 <th width="80">グループ名</th> 3 <td class="left" width="100"> 4 <div> 5 <select id="group_id" name="group_id"> 6 <option value=""></option> 7 <option th:each="grouplist : ${grouplist}" th:value="${grouplist.group_id}" th:text="${grouplist.group_name}"></option> 8 </select> 9 </div> 10 </td> 11 <td width="110" class="nonp"> </td><td width="10" class="nonp"> </td> 12 <td width="110" class="nonp"> </td><td width="10" class="nonp"> </td> 13 <td width="110" class="nonp"> </td><td width="10" class="nonp"> </td> 14 <td width="110" class="nonp"> </td><td width="10" class="nonp"> </td> 15 <td width="110" class="nonp"> </td> 16 <td width="110" class="nonp"><a th:href="@{/userList/search}"><img src="../../../images/btn_kensaku.gif" alt="検索" class="imgBtn"></a></td><td width="10" class="nonp"/></span></td> 17</tr> 18</table> 19</td> 20</tr> 21<tr> 22<td><hr width="950" align=left /></td> 23</tr> 24<tr> 25<td> 26<table width="933" cellpadding="0" cellspacing="0"> 27<tr> 28 <td> 29 検索結果:<span th:text="*{count}"></span>件 30 </td> 31</tr> 32<tr> 33 <td> 34 <div style="width:900px"> 35 <table cellpadding="0" cellspacing="0"> 36 <col style="width:70px"/> 37 <col style="width:120px"/> 38 <col style="width:100px"/> 39 <col style="width:70px"/> 40 <col style="width:120px"/> 41 <col style="width:120px"/> 42 <col style="width:120px"/> 43 <col style="width:90px"/> 44 <col style="width:70px"/> 45 <tr> 46 <th class="list">ログインID</th> 47 <th class="list">氏名</th> 48 <th class="list">権限</th> 49 <th class="list">グループID</th> 50 <th class="list">グループ名</th> 51 <th class="list">最終ログイン日</th> 52 <th class="list">パスワード更新日</th> 53 <th class="list">状態</th> 54 <th class="list"></th> 55 </tr> 56 </table> 57 </div> 58 </td> 59</tr> 60<tr> 61 <td> 62 <div style="height:351px; overflow-y:scroll;width:900px"> 63 <table class="line" cellpadding="0" cellspacing="0" width="880px"> 64 <col style="width:70px"/> 65 <col style="width:120px"/> 66 <col style="width:100px"/> 67 <col style="width:70px"/> 68 <col style="width:120px"/> 69 <col style="width:120px"/> 70 <col style="width:120px"/> 71 <col style="width:90px"/> 72 <col style="width:70px"/> 73 <tr th:each="userlist : ${userlist}" th:object="${userlist}" > 74 <td class="left"><span th:text="*{userid}"/></td> 75 <td class="left"><span th:text="*{user_name}"/></td> 76 <td class="left" th:if="*{permit} eq 'A'"><span th:text='管理者' /></td> 77 <td class="left" th:if="*{permit} neq 'A'"><span th:text='利用ユーザ'/></td> 78 <td class="left"><span th:text="*{groupid}"/></td> 79 <td class="left"><span th:text="*{bumon_name}"/></td> 80 <td class="left"><span th:text="${#dates.format(userlist.last_login, 'yyyy/MM/dd')}"/></td> 81 <td class="left"><span th:text="${#dates.format(userlist.pswd_date, 'yyyy/MM/dd')}"/></td> 82 <th:block th:switch="*{activate}"> 83 <td th:case="A" class="left"><span th:text="サービス中"/></td> 84 <td th:case="S" class="left"><span th:text="利用停止中"/></td> 85 <td th:case="X" class="left"><span th:text="利用廃止"/></td> 86 </th:block> 87 <td class="center"><a th:href="@{/userList/{userid}/userEdit(userid=*{userid})}" class="btn btn-secondary"><img src="../images/btn_select_mini.gif" alt="選択" class="imgBtn"></a></td> 88 </tr> 89 </table> 90 </div> 91 </td> 92</tr> 93</table> 94</td> 95</tr> 96</table> 97</div> 98</form> 99</body> 100</html>
java
1 2 @Autowired 3 HttpSession session; 4 @Autowired 5 UserService userService; 6 @Autowired 7 GrpttlService grpttlService; 8 9 @GetMapping(value = "/userList/search") 10 public String search(Model model) { 11 model.addAttribute("loginname",session.getAttribute("user_name")); 12 List<UsysUser> userList = userService.findByGroupid(grouplist.group_id); 13 model.addAttribute("count", userList.size()); 14 model.addAttribute("userlist", userList); 15 List<UsysGrpttl> groupList = grpttlService.findAll(); 16 model.addAttribute("grouplist", groupList); 17 return "userList"; 18 }
java
1 @Autowired 2 UserRepository userRepository; 3 public List<UsysUser> findByGroupid(String groupid) { 4 return userRepository.findByGroupid(groupid); 5 }
試したこと
<select id="group_id" name="group_id">の部分を
<select th:field="*{group_id}">にして、値を取得しようとしましたが、
エラーになり取得することができませんでした。
あなたの回答
tips
プレビュー