首頁 > 軟體

SpringMVC RESTFul實戰案例修改功能實現

2022-05-28 18:01:24

SpringMVC RESTFul實現修改功能

一、回顯功能

做實際修改操作之前,需要有個回顯功能,就是點編輯頁後可以看到資料。

1.修改操作超連結

這裡的請求地址跟刪除的一樣,需要帶上 id,因為要回顯這個 id 的資料。

<td>
      <a @click="deleteEmployee" th:href="@{/employee/} + ${employee.id}" rel="external nofollow" >刪除</a>
      <a th:href="${/employee/} + ${employee.id}" rel="external nofollow" >更新</a>
  </td>

重新部署後,滑鼠移動到更新按鈕上,瀏覽器左下角同樣可以顯示出請求的地址。

2.處理控制器方法

因為這個回顯操作請求,不僅僅是做檢視的返回,還要去獲取 id 下的資訊,所以這裡不能通過設定 view-controller 來實現了,需要編寫控制器方法。

繼續在類 EmployeeController 下新增方法:

@RequestMapping(value = "/employee/{id}", method = RequestMethod.GET)
    public String getEmployeeById(@PathVariable("id") Integer id, Model model) {
        Employee employee = employeeDao.get(id);
        model.addAttribute("employee", employee);
        return "employee_update";
    }

這裡除了 id,還有個形參 model,因為需要把查詢到的資料共用到 request 域中。最後返回修改頁。

3.建立修改頁面

新建 employee_update.html,可以拷貝新增頁的然後修改:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>更新員工</title>
</head>
<body>
<form th:action="@{/employee}" method="post">
    <input type="hidden" name="_method" value="put">
    <input type="hidden" name="id" th:value="${employee.id}">
    lastName:<input type="text" name="lastName" th:value="${employee.lastName}"><br>
    email:<input type="text" name="email" th:value="${employee.email}"><br>
    gender:<input type="radio" name="gender" value="1" th:field="${employee.gender}">male
    <input type="radio" name="gender" value="0" th:field="${employee.gender}">female<br>
    <input type="submit" value="更新"><br>
</form>
</body>
</html>

因為需要回顯,所以還要加 value 的值,比如th:value="${employee.id}"。

另外,這裡有 2 個隱藏域:

<input type="hidden" name="id" th:value="${employee.id}">,用來存放 id。

<input type="hidden" name="_method" value="put">,用於傳送 put 請求。

重新部署測一下,點選更新按鈕:

回顯成功。

二、修改功能

1.新增控制器方法

@RequestMapping(value = "/employee", method = RequestMethod.PUT)
    public String updateEmployee(Employee employee) {
        employeeDao.save(employee);
        return "redirect:/employee";
    }

呼叫 dao 裡的 save() 方法,最後重定向到列表頁。

2.測試效果

重新部署後,點選更新,修改3個資料測試下效果。

以上就是SpringMVC RESTFul實戰案例修改功能實現的詳細內容,更多關於SpringMVC RESTFul修改的資料請關注it145.com其它相關文章!


IT145.com E-mail:sddin#qq.com