SpringMVC RESTFul实战案例修改功能实现

 更新时间:2022年05月28日 14:27:55   作者:把苹果咬哭的测试笔记  
这篇文章主要为大家介绍了SpringMVC RESTFul实战案例修改功能实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

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修改的资料请关注脚本之家其它相关文章!

相关文章

  • java中最易犯错的特殊字符示例详解

    java中最易犯错的特殊字符示例详解

    这篇文章主要给大家介绍了关于java中最易犯错的特殊字符的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • 对SpringBoot项目Jar包进行加密防止反编译

    对SpringBoot项目Jar包进行加密防止反编译

    最近项目要求部署到其他公司的服务器上,但是又不想将源码泄露出去,要求对正式环境的启动包进行安全性处理,防止客户直接通过反编译工具将代码反编译出来,本文介绍了如何对SpringBoot项目Jar包进行加密防止反编译,需要的朋友可以参考下
    2023-10-10
  • SpringBoot如何解析参数的深入理解

    SpringBoot如何解析参数的深入理解

    这篇文章主要给大家介绍了关于SpringBoot是如何解析参数的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用SpringBoot具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 配置DispatcherServlet的方法介绍

    配置DispatcherServlet的方法介绍

    今天小编就为大家分享一篇关于配置DispatcherServlet的方法介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • SpringBoot使用TraceId进行日志链路追踪的实现步骤

    SpringBoot使用TraceId进行日志链路追踪的实现步骤

    有时候一个业务调用链场景,很长,调了各种各样的方法,看日志的时候,各个接口的日志穿插,确实让人头大,所以为了解决这个问题,本文给大家介绍了SpringBoot使用TraceId进行日志链路追踪的实现步骤,需要的朋友可以参考下
    2024-11-11
  • Java 添加Word目录的2种方法示例代码详解

    Java 添加Word目录的2种方法示例代码详解

    目录是一种能够快速、有效地帮助读者了解文档或书籍主要内容的方式。这篇文章主要介绍了Java 添加Word目录的2种方法 ,需要的朋友可以参考下
    2019-06-06
  • springboot过滤器和拦截器的实例代码

    springboot过滤器和拦截器的实例代码

    这篇文章主要介绍了springboot过滤器和拦截器的实例代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-07-07
  • idea修改maven模块名称还显示老名称问题解决

    idea修改maven模块名称还显示老名称问题解决

    本文主要介绍了idea修改maven模块名称还显示老名称问题解决,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-11-11
  • SpringBoot整合MQTT并实现异步线程调用的问题

    SpringBoot整合MQTT并实现异步线程调用的问题

    这篇文章主要介绍了基于SpringBoot通过注解实现对mqtt消息处理的异步调用,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • 解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)

    解决java编译错误( 程序包javax.servlet不存在javax.servlet.*)

    这篇文章主要介绍了解决java编译错误的相关资料,主要解决 程序包javax.servlet不存在javax.servlet.*的问题,需要的朋友可以参考下
    2017-08-08

最新评论