springmvc实例之修改雇员相关信息(四)

接上一节。

  • 首先是在List.jsp中点击编辑,然后在EmployeeHandler.java中有一个toEditEmployeePage方法,该方法接收传入过来的id,并把相关信息传给add.jsp界面。
  • 由于springmvc的form标签会自动进行回显,因此传入给add.jsp一个根据id得到的employee对象以及获取departments对象。
  • 可以和增加雇员信息共用一个add.jsp界面,但要进行相应的修改。
  • 我们默认是不修改lastname属性。
  • 为了使得更新时默认lastname属性保留原来的值,需要使用的ModelAttribute属性。

首先是在EmployeeHandler.java中编写toEditEmployeePage方法:

    @RequestMapping(value="/emp/{id}",method=RequestMethod.GET)
    public String toEditEmployeePage(@PathVariable("id") Integer id,
            Map<String,Object> map) {
        map.put("employee", employeeDao.get(id));
        map.put("departments", departmentDao.getDepartments());
        return "add";
    }

然后是在add.jsp中进行相应的修改:

    <form:form action="${pageContext.request.contextPath}/emp" method="POST"
        modelAttribute="employee">
        <!-- path属性对应html标签的name属性 -->
        <c:if test="${employee.id == null}">
            LastName: <form:input path="lastName"/>
        </c:if>
        <c:if test="${employee.id != null}">
            <form:hidden path="id"/>
            <input type="hidden" name="_method" value="PUT"/>
        </c:if>    

首先是修改提交的路径:${pageContext.request.contextPath}/emp。一定要修改这。然后是对传过来的employee的id进行判断,如果是空,则说明是添加操作,所以将lastname输入框添加到里面,如果不为空,则表明是修改操作,则需要隐藏一个id,用于传给后台用于获取原本雇员的名字。接着设置一个隐藏域,用于将POST请求转换为PUT请求。

接下来在EmployeeHandler.java中编写更新方法update:

    @ModelAttribute
    public void getEmployee(@RequestParam(value="id",required=false) Integer id,
            Map<String,Object> map) {
        if(id != null) {
            map.put("employee", employeeDao.get(id));
        }
    }

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

这里为了获得原有的lastname,需要用@ModelAttribute直接标识一个获得雇员信息的方法。

启动服务器:

点击最后一个Edit:

并修改相应信息:

点击提交:

相关信息已被修改,说明修改操作是成功的。 至此,springmvc的增删改查基本操作就已经全部完成了。

原文地址:https://www.cnblogs.com/xiximayou/p/12184807.html

时间: 2024-11-10 13:07:40

springmvc实例之修改雇员相关信息(四)的相关文章

springmvc实例之添加雇员相关信息(二)

接上一节. 添加雇员信息有两个操作: 首先在显示页面中添加--添加雇员信息连接. 然后通过发送请求到Handler,在Handler中跳转到添加信息的页面. 需要注意的是使用springmvc自带的form标签来进行添加页面的编写.同时在toAddEmployeePage需要传入departmen的信息,因为这是要进行选择的.springmvc自带的form是会进行回显的,因此还要传入一个新建的Employee对象,指定的名字要与fomr中指定的modelAttribute属性中的相同,否则会抛

springmvc实例之删除雇员相关信息(三)

接上一节. 我们进行删除操作使用DELETE请求 要想将POST请求转换成PUT.DELETE请求,需要在web.xml中配置过滤器: <!-- 配置 HiddenHttpMethodFilter: 把 POST 请求转为 DELETE.PUT 请求 --> <filter> <filter-name>HiddenHttpMethodFilter</filter-name> <filter-class>org.springframework.we

编译安装nginx并修改版本头信息—参考实例

今天做实验的时候,想起我那台yum安装的nginx+php-fpm+mysql服务器上的nginx版本有点低了,并且还要加两个第3方模块,就去nginx官网下载了最新稳定版nginx-1.0.6,好了,废话不多说看教程吧.  系统版本: centos 5.6  ip: 192.168.1.200  需要的软件包:nginx-1.0.6.tar.gz Nginx-accesskey-2.0.3.tar.gz ngx_cache_purge-1.3.tar.gz(这3个包可以自己去下载,我就不提供了

修改cactiZE中文版相关信息

生产服务器: OS:CentOS 6.8 [[email protected] html]#cd /etc/snmp [[email protected] snmp]#ll total 8 -rw-r--r--. 1 rootroot 360 Oct  6  2013 snmpd.conf -rw-------  1 root root 220 Aug 24 02:47 snmptrapd.conf [[email protected] snmp]#vi snmp snmpd.conf     

SSM框架-SpringMVC 实例文件上传下载

SSM框架-SpringMVC 实例文件上传下载 2017-04-17 09:38 4497人阅读 评论(6) 收藏 举报  分类: java基础(3)  目录(?)[+] 目录(?)[+] 林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 本文工程免费下载 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload

ManagementClass类解析和C#如何获取硬件的相关信息

在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作. 现在先来介绍一下ManagementClass类,首先看一下类的继承结构: 现在看一下MSDN对ManagementClass类的解释,对表示一个通用信息模型 (CIM) 管理类. 管理类是 WMI 类,如 Win32_LogicalDisk, ,该类型可表示一个磁盘驱动器,并 Win32_Process, ,它表示的进程 Notepad.exe 等. 此类的成员可

ifconfig修改网卡相关问题

inux命令之ifconfig详细解释 许多windows非常熟悉ipconfig命令行工具,它被用来获取网络接口配置信息并对此进行修改.Linux系统拥有一个类似的工具,也就是ifconfig(interfaces config).通常需要以root身份登录或使用sudo以便在Linux机器上使用ifconfig工具.依赖于ifconfig命令中使用一些选项属性,ifconfig工具不仅可以被用来简单地获取网络接口配置信息,还可以修改这些配置. 1.命令格式: ifconfig [网络设备] 

《HTML5网页开发实例详解》连载(四)HTML5中的FileSystem接口

HTML 5除了提供用于获取文件信息的File对象外,还添加了FileSystem相关的应用接口.FileSystem对于不同的处理功能做了细致的分类,如用于文件读取和处理的FileReader和FileList对象.用于创建和写入的Blob和FileWriter对象.用于目录和文件系统访问的DirectoryReader和LocalFileSystem对象等,FileSystem功能的出现是浏览器在文件系统上的突破,具有里程碑的意义,虽然目前还尚未完全成熟,但足以让开发者发挥更大的想象空间.

Hibernate的一些相关信息(续)

深入Session session概述 Session接口时Hibernate向应用程序提供的操纵对数据库的最主要的接口,他提供了基本的保存,更新,删除和加载Java对象的方法. 理解Session的缓存. 在session借口的实现中包含一些列的Java集合,这些Java集合构成了Session缓存,只要Session实力没有结束生命周期,存放在它缓存中的对象也不会结束生命周期 当session的save()方法持久化一个对象时,该对象被载入缓存,以后即使程序中不在引用该对象,只要缓存不清空,