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

接上一节。

添加雇员信息有两个操作:

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

首先在list.jsp中末尾加入:

<a href="emp">Add new employee</a>

然后在EmployHandler.java加如跳转到添加页面的方法:

    @RequestMapping(value="/emp",method=RequestMethod.GET)
    public String toAddEmployeePage(Map<String,Object> map) {
        map.put("departments", departmentDao.getDepartments());
        //这里需要传一个Employee对象给前端,绑定相关的属性
        map.put("employee", new Employee());
        return "add";
    }

然后我们在views文件夹下新建一个add.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.util.*" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <!--
        1. WHY 使用 form 标签呢 ?
        可以更快速的开发出表单页面, 而且可以更方便的进行表单值的回显
        2. 注意:
        可以通过 modelAttribute 属性指定绑定的模型属性,
        若没有指定该属性,则默认从 request 域对象中读取 command 的表单 bean
        如果该属性值也不存在,则会发生错误。
    -->
    <form:form action="emp" method="POST"
        modelAttribute="employee">
        <!-- path属性对应html标签的name属性 -->
        LastName: <form:input path="lastName"/>
        <br>
        Email: <form:input path="email"/>
        <br>
        <%
            Map<String, String> genders = new HashMap();
            genders.put("1", "Male");
            genders.put("0", "Female");
            request.setAttribute("genders", genders);
        %>
        Gender:
        <br>
        <form:radiobuttons path="gender" items="${genders }" delimiter="<br>"/>
        <br>
        Department: <form:select path="department.id"
            items="${departments}" itemLabel="departmentName" itemValue="id"></form:select>
        <br>
        <input type="submit" value="Submit"/>
    </form:form>
</body>
</html>

需要注意在jsp中使用java要引入:

<%@page import="java.util.*" %>

使用form要引入:

<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>

接下来在EmployeeHandler.java中编写最后保存添加雇员信息的方法:

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

启动服务器之后:

点击Add new employee,跳转到添加页面:输入相关信息

点击提交后会调用save方法,在save执行完毕后重定向到/emps,即显示界面。

说明添加雇员功能是成功的。

 

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

时间: 2024-08-29 19:04:07

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

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

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

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

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

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

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

C#实现为类和函数代码自动添加版权注释信息的方法

本文实例讲述了C#实现为类和函数代码自动添加版权注释信息的方法,分享给大家供大家参考之用.具体方法如下: 以web项目为例: 一:给类加注释 1.在visual studio 的安装路径下 如:[盘符]:/Program files/Microsoft Visual Studio 8/Common7/IDE/ItemTemplates/web/cshare/2052/class.zip ,将里面的class.cs改为: /*------------------------------------

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

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

C#获取程序文件相关信息的方法

本文实例讲述了C#获取程序文件相关信息的方法,分享给大家供大家参考. 具体实现方法如下: using System.Reflection; using System.Runtime.CompilerServices; // // 有关程序集的常规信息是通过下列 // 属性集控制的.更改这些属性值可修改与程序集 // 关联的信息. // [assembly: AssemblyTitle("")] [assembly: AssemblyDescription("")]

『Python』 爬取 WooYun 论坛所有漏洞条目的相关信息

每个漏洞条目包含: 乌云ID,漏洞标题,漏洞所属厂商,白帽子,漏洞类型,厂商或平台给的Rank值 主要是做数据分析使用:可以分析某厂商的各类型漏洞的统计:或者对白帽子的能力进行分析..... 数据更新时间:2016/5/27漏洞条目:104796条 数据截图如下: 数据网盘链接: 链接:http://pan.baidu.com/s/1bpDNKOv 密码:6y57 爬虫脚本: # coding:utf-8 # author: anka9080 # version: 1.0 py3 import

为tomcat动态添加jndi数据源信息

我们在开发项目的时候,总要和数据库打交道,如何获取数据源,以什么样的方式来获取,成为了我们即简单又熟悉而且不得不注意的一个问题. 那么在这里我说三种获取数据源的常用方式: 一.通过配置文件来获取 首先在项目的classPath下面,建立一个配置文件,如jdbc.properties. 通过最原始的方式,解析这个配置文件,然后读取配置信息,再封装jdbc信息,从而得到数据源. 使用spring:通过spring去建立dataSource Bean.这个dataSource Bean里的信息同样来自

JMeter学习-009-JMeter 后置处理器实例之 - 正则表达式提取器(二)多参数获取

前文简述了通过后置处理器 - 正则表达式提取器 获取 HTTP请求 响应结果中的特定数据,未看过的亲,敬请参阅 JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一). 此文主要对正则表达式提取器的 正则表达式.模板.匹配数字,三者的关系,做进一步的讲解. 截取商品列表响应结果数据中的一段商品数据如下所示: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 {     "s