まずtemplates に edit.html を作ります。
<div class="form-group"> <label class="control-label col-md-2">名前</label> <div class="col-md-4"> <input type="text" class="form-control" name="name" th:value="${name}"> </div> </div> <div class="form-group"> <label class="control-label col-md-2">所属部署</label> <div class="col-md-4"> <input type="text" class="form-control" name="department" th:value="${department}"> </div> </div>
続いて、indexからeditへのリンク。これは、/edit/${userId}とします。
<td th:text="${list.id}"></td><td th:text="${list.name}">狩野 良平</td><td th:text="${list.department}">営業部</td><td><a th:href="'/edit/' + ${list.id}"><button type="button" class="btn btn-secondary">編集</button></a></td><td><a th:href="'/delete/' + ${list.id}"><button type="button" class="btn btn-danger" onclick="location.href='/delete_complete.html'">削除</button></a></td>
UsersRepository.java
L jdbcTemplate.queryForMapで取得する
public Users selectOne(Long id) throws DataAccessException { // SQL文を作成 String sql = "" + "SELECT" + " *" + " FROM" + " users" + " WHERE" + " id = ?"; Map<String, Object> users = jdbcTemplate.queryForMap(sql, id); // Userオブジェクトに格納する。 Users user = new Users(); user.setName((String)users.get("name")); user.setDepartment((String)users.get("department")); return user; }
MainController.java
@GetMapping("edit/{userId}") public String editForm(@PathVariable("userId") long userId, Model model) { Users user = usersRepository.selectOne(userId); model.addAttribute("name", user.getName()); model.addAttribute("department", user.getDepartment()); return "test1/edit"; }
まじかよ、これ作るの3時間半くらいかかったんだけど。。。