前提
SpringBoot Thymeleaf Java oracleを用いて簡単なWebアプリを作成しております。
実現したいこと
・プルダウンで部署を選択した際にヒットした人をページに一覧表示させる
こちら何かお気づきのことがある方、よろしくお願いいたします。
発生している問題・エラーメッセージ
・部署選択すると画面遷移はするが、絶対に0件の表示が出てしまう。
該当のソースコード
Java
1@Controller 2public class ListController { 3 4@Autowired 5EmployeeRepository employeeRepository; 6 7@Autowired 8DepartmentRepository departmentRepository; 9 10@RequestMapping("/list/deptId") 11 public String searchDeptId(Integer deptId, Model model) { 12 Department dept = new Department(); 13 dept.setDeptId(deptId); 14 List<Employee> department = employeeRepository.findByDepartment(dept); 15 model.addAttribute("deptId", department); 16 return "list/list"; 17 } 18}
HTML
1 <div class="title">部署名検索</div> 2 <div class="form"> 3 <form th:action="@{/list/deptId}" method="get"> 4 5 <span th:if="${selectedDeptId == null}"> 6 <select name="deptId"> 7 <option value="1"selected>営業部</option> 8 <option value="2">経理部</option> 9 <option value="3">総務部</option> 10 </select> 11 </span> 12 13 <span th:unless="${selectedDeptId == null}"> 14 <select name="deptId"> 15 <option value="1" th:selected="${selectedDeptId}== '1'">営業部</option> 16 <option value="2" th:selected="${selectedDeptId}== '2'">経理部</option> 17 <option value="3" th:selected="${selectedDeptId}== '3'">総務部</option> 18 </select> 19 </span> 20 21 <input type="submit" value="検索" /> 22 </form> 23 24<body class="admin user_list"> 25<h3>社員一覧画面</h3> 26 27 <th:block th:if="${#lists.isEmpty(employee)}"> 28<div class="message"> 29<p class="back_to_top_message">該当する社員は存在しません。</p> 30<p class="back_to_top_link"><a th:href = @{redirect:/list} >戻る</a></p> 31</div> 32 </th:block> 33<table class="list_table" th:if="${!#lists.isEmpty(employee)}"> 34<tr> 35<th class="empId">社員ID</th> 36<th class="empName">社員名</th> 37<th:block th:if="true"> 38 <th class="gender">性別</th> 39 <th class="address">住所</th> 40 <th class="birthday">生年月日</th> 41 <th class="authority">権限</th> 42 </th:block> 43 <th class="deptName">部署名</th> 44 <th class="button" colspan="2">操作</th> 45 </th:block> 46</tr> 47 48<tr th:each="emp:${employee}"> 49<td th:text="${emp.empId}"></td> 50<td th:text="${emp.empName}"></td> 51<td th:if="${emp.gender == 1}" th:text = "男性"></td> 52<td th:if="${emp.gender == 2}" th:text = "女性"></td> 53<td th:text="${emp.address}"></td> 54<td th:text="${#dates.format(emp.birthday,'yyyy/MM/dd')}"></td> 55<td th:if="${emp.authority == 1}" th:text= "一般"></td> 56<td th:if="${emp.authority == 2}" th:text= "管理者"></td> 57<td th:text= "${emp.department.deptName}"></td> 58 59<td><form method="post" action="" style="display:inline;"> 60<input type = "hidden" name="empId" th:value="${emp.empId}" /> 61<input type="submit" value = "変更" /> 62</form> 63<form method="post" action="delete_check" style="display:inline;"> 64<input type = "hidden" name="empId" th:value="${emp.empId}" /> 65<input type="submit" value="削除" /> 66</td> 67</tr> 68 69</table> 70 71</body> 72
@Repository public interface EmployeeRepository extends JpaRepository<Employee, Integer> { List<Employee> findByDepartment(Department dept); }
@Entity @Table(name = "employee") public class Employee { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_emp_gen") @SequenceGenerator(name = "seq_emp_gen", sequenceName = "seq_emp", allocationSize = 1) private Integer empId; @Column private String empPass; @Column private String empName; @Column private Integer gender; @Column private String address; @Column private Date birthday; @Column private Integer authority; @ManyToOne @JoinColumn(name = "dept_id", referencedColumnName="deptId") private Department department; //getter setter省略 DepartmentエンティティにはdeptIdとdeptNameが存在
補足情報(FW/ツールのバージョンなど)
SpringBoot2.5.4