JDBC对数据库进行操作

CRUD
Departmentmapper.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="cn.wolfcode.two.department.mapper.DepartmentMapper" >
   <resultMap  id="basicMap" 
   		type="cn.wolfcode.two.department.entity.Department">
   		<id property="id" column="id"/>
   		<result property="name" column="name"/>
        <result property="city" column="city"/>
   </resultMap>
   <sql id="column-0">
   		id,name,city
   </sql>
   <sql id="column-1">
   		name,city
   </sql>
   <sql id="column-2">
   		name
   </sql>
   <sql id="value-1">
   		#{name},#{city}
   </sql>
   <sql id="value-2">
   		#{name}
   </sql>
   <insert id="insert" parameterType="cn.wolfcode.two.department.entity.Department">
   		insert into department(
   		   <include refid="column-1"></include>
   		) values(
   			<include refid="value-1"></include>
   		)
   </insert>
   
   
   <update id="update" parameterType="cn.wolfcode.two.department.entity.Department">
   		update department 
   		<set>
   		   <if test="name!=null and name!=''">
   		       name=#{name},
   		   </if>
   		    <if test="city!=null and city!=''">
   		      city=#{city},
   		   </if>
   		</set>
   		where id=#{id}
   		
   		
   		
   </update>
   
   <select id="SelectById" parameterType="java.lang.Long" resultMap="basicMap">
        select 
        <include refid="column-0"></include>
         from department
         where id=#{id}
   </select>
   
   <select id="select" parameterType="java.util.Map" resultMap="basicMap">
         select 
        <include refid="column-0"></include>
         from department
          <where>
           <if test="qo.keyword!=null and qo.keyword!=''">
   		       <![CDATA[ and name like concat('%',#{qo.keyword},'%') ]]>
   		   </if>
   		   <if test="qo.idFrom!=null">
   		       <![CDATA[ and id >= #{qo.idFrom} ]]>
   		   </if>
   		   <if test="qo.idTo!=null">
   		       <![CDATA[ and id <= #{qo.idTo} ]]>
   		   </if>
          </where>
          limit #{pageNum},#{pageSize}
         
   </select>
   
   <select id="count" parameterType="cn.wolfcode.two.department.qo.DepartmentQo" resultType="java.lang.Integer">
         select	count(1) from department
          <where>
           <if test="keyword!=null and keyword!=''">
   		       <![CDATA[ and name like concat('%',#{keyword},'%') ]]>
   		   </if> 
   		   <if test="idFrom!=null">
   		       <![CDATA[ and id >= #{idFrom} ]]>
   		   </if>
   		   <if test="idTo!=null">
   		       <![CDATA[ and id <= #{idTo} ]]>
   		   </if>
          </where>
   </select>
   
  
 	<delete id="delete" parameterType="Long[]">
   		delete from department
   		<foreach collection="ids" item="id" open="where id in ("  close=")" separator=",">
   		    #{id}
   		</foreach>
  </delete>
   
   
   
   
</mapper>

DepartmentMapper.java

package cn.wolfcode.two.department.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.qo.DepartmentQo;

public interface DepartmentMapper {
	
	public int insert(Department department);
	
	public int update(Department department);
	
	public int delete(@Param("ids") Long[] ids);
	
	public List<Department> select(Map<String,Object> paramsMap);
	
	public Department SelectById(@Param("id") Long id);
	//根据查询条件,查出一共有多少条数据
	public Integer count(DepartmentQo qo);
}

IDepartmentService.java

package cn.wolfcode.two.department.service;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.qo.DepartmentQo;
import cn.wolfcode.two.utils.PageBean;

public interface IDepartmentService {

	public void save(Department dept) ;
	
	public void update(Department dept) ;
	
	public void deleteOne(Long id);
	
	public void deleteMany(Long[] ids);
	
	public Department selectOne(Long id);
	
	public PageBean<Department> selectList(DepartmentQo qo,Integer pageNum,Integer pageSize);
	
}

DepartmentServiceImpl.java

package cn.wolfcode.two.department.service.impl;

import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.ibatis.session.SqlSession;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.mapper.DepartmentMapper;
import cn.wolfcode.two.department.qo.DepartmentQo;
import cn.wolfcode.two.department.service.IDepartmentService;
import cn.wolfcode.two.utils.DeptException;
import cn.wolfcode.two.utils.MessageBean;
import cn.wolfcode.two.utils.MybatisSupport;
import cn.wolfcode.two.utils.PageBean;

public class DepartmentServiceImpl implements IDepartmentService {

	private DepartmentMapper departmentMapper ;
	private SqlSession session;
	
	public DepartmentServiceImpl() {
		try {
			session = MybatisSupport.connMybatis();
			departmentMapper = session.getMapper(DepartmentMapper.class);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
	@Override
	protected void finalize() throws Throwable {
		MybatisSupport.close(session);
		super.finalize();
	}
	@Override
	public void save(Department dept) {
		int m = departmentMapper.insert(dept);
		session.commit();
		if(m<1) {
			throw new DeptException(MessageBean.DEPT_FALL_SELF_TYPE+"");
		}
	}
	@Override
	public void update(Department dept) {
		int m = departmentMapper.update(dept);
		session.commit();
		if(m<1) {
			throw new RuntimeException("更新失败!");
		}
	}

	@Override
	public void deleteOne(Long id) {
		int m = departmentMapper.delete(new Long[] {id});
		session.commit();
		if(m<1) {
			throw new RuntimeException("删除失败!");
		}
	}

	@Override
	public void deleteMany(Long[] ids) {
		int m = departmentMapper.delete(ids);
		session.commit();
		if(m<1) {
			throw new RuntimeException("批量删除失败!");
		}

	}

	@Override
	public Department selectOne(Long id) {
		Department department = departmentMapper.SelectById(id);
		return department;
	}
	
	@Override
	public PageBean<Department> selectList(DepartmentQo qo, Integer pageNum, Integer pageSize) {
		//构建一个分页bean ,制定当前页和每页显示多少条, 这两个数据是参数传递过来的,pageSize准确,pageNum不一定准确
		PageBean<Department> ret=new PageBean<Department>(pageNum,pageSize);
		//获取qo条件下的总行数
		Integer rows = departmentMapper.count(qo);
		ret.setRows(rows);  //分页的四个属性是准确的
		Map<String, Object> paramsMap=new HashMap<>();
		paramsMap.put("qo", qo);
		Integer startIndex=(ret.getPageNum()-1)*ret.getPageSize();
		paramsMap.put("pageNum",startIndex);
		paramsMap.put("pageSize", ret.getPageSize());
		List<Department> allList = departmentMapper.select(paramsMap);
		//把集合赋值到ret对象中
		ret.setList(allList);
		return ret;
	}

}

DepartmentQo.java

package cn.wolfcode.two.department.qo;

import java.io.Serializable;

import lombok.Data;

@Data
public class DepartmentQo implements Serializable{
	private String keyword;
	private Long idFrom;
	private Long idTo;
}

DepartmentSaveOrUpdateServlet.java

package cn.wolfcode.two.department.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.service.IDepartmentService;
import cn.wolfcode.two.department.service.impl.DepartmentServiceImpl;
import cn.wolfcode.two.utils.DeptException;
import cn.wolfcode.two.utils.MessageBean;

public class DepartmentSaveOrUpdateServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
	
	protected IDepartmentService departService = new DepartmentServiceImpl();
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		request.setCharacterEncoding("UTF-8");
		//response.setCharacterEncoding("UTF-8");
		String id = request.getParameter("id");		
		String name = request.getParameter("name");
		String city = request.getParameter("city");	
		Integer msg=0;
		if(id!=null && !"".equals(id)) {
			Department dept = new Department(Long.parseLong(id), name, city);
			msg = MessageBean.DEPT_SUCCESS_MODIFY_TYPE;
			try {
				departService.save(dept);		
			} catch (DeptException e) {
				msg =Integer.parseInt(e.getMessage()) ;
			} catch (Exception e) {
				msg=MessageBean.DEPT_FALL_SYSTEM_TYPE;
			} 
		}else {
			Department dept = new Department(null,name,city);
			msg = MessageBean.DEPT_SUCCESS_TYPE;
			try {
				departService.save(dept);		
			} catch (DeptException e) {
				msg =Integer.parseInt(e.getMessage()) ;
			} catch (Exception e) {
				msg=MessageBean.DEPT_FALL_SYSTEM_TYPE;
			} 
		}
		
		
		response.sendRedirect("/2-05-Department/toDepartmentListServlet?msg="+msg);

	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

DeptDeleteServlet.java

package cn.wolfcode.two.department.servlet;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.wolfcode.two.department.service.IDepartmentService;
import cn.wolfcode.two.department.service.impl.DepartmentServiceImpl;
import cn.wolfcode.two.utils.DeptException;
import cn.wolfcode.two.utils.MessageBean;

public class DeptDeleteServlet extends HttpServlet {
	
	private static final long serialVersionUID = 1L;

	protected IDepartmentService departService = new DepartmentServiceImpl();

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//获取数据
		String[] ids = request.getParameterValues("id");
		//构建service参数
		Long[] idsLong = new Long[ids.length];
		for (int i = 0; i < idsLong.length; i++) {
			idsLong[i] = Long.parseLong(ids[i]);
		}
		Integer msg = MessageBean.DEPT_SUCCESS_DELETE_TYPE;
		try {
			departService.deleteMany(idsLong);		
		} catch (DeptException e) {
			msg =Integer.parseInt(e.getMessage()) ;
		} catch (Exception e) {
			msg=MessageBean.DEPT_FALL_SYSTEM_TYPE;
		} 
		response.sendRedirect("/2-05-Department/toDepartmentListServlet?msg="+msg);
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

ToDepartmentListServlet.java

package cn.wolfcode.two.department.servlet;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.qo.DepartmentQo;
import cn.wolfcode.two.department.service.IDepartmentService;
import cn.wolfcode.two.department.service.impl.DepartmentServiceImpl;
import cn.wolfcode.two.utils.MessageBean;
import cn.wolfcode.two.utils.PageBean;

public class ToDepartmentListServlet extends HttpServlet {

	private static final long serialVersionUID = 1L;
	// 接口是一个标识. 是一个协议.  接口可以区分不同的使用级别  V8
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		
		//功能1 第一次进入
		String method = request.getMethod();
		if(method.equalsIgnoreCase("get")) {
			first(request,response);
		}else {//功能2 查询进入
			form(request,response);
		}
	}

	protected void first(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		IDepartmentService departService=new DepartmentServiceImpl();
		if(request.getParameter("msg")!=null) {
			String msg = request.getParameter("msg");
			request.setAttribute("msg", new MessageBean().get(Integer.parseInt(msg)));
		}
		
		request.setCharacterEncoding("UTF-8");
		String msg = request.getParameter("msg");
		
		DepartmentQo qo=new DepartmentQo();
		PageBean<Department> list = departService.selectList(qo, 1, 3);
		//第一页数据
		System.out.println(list);
		request.setAttribute("pageInfo", list);
		request.setAttribute("qo", qo);
		//request.setAttribute("msg", new MessageBean().get(Integer.parseInt(msg)));
		request.getRequestDispatcher("/WEB-INF/viiew/department/list.jsp").forward(request, response);

	}
	
	protected void form(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		IDepartmentService departService=new DepartmentServiceImpl();
		request.setCharacterEncoding("UTF-8");
		String keyword = request.getParameter("keyword");
		String idFrom = request.getParameter("idFrom");
		String idTo = request.getParameter("idTo");
		String pageNum = request.getParameter("pageNum");
		String pageSize = request.getParameter("pageSize");
		
		DepartmentQo qo=new DepartmentQo();
		qo.setKeyword(keyword);
		try {
			qo.setIdFrom(Long.parseLong(idFrom));
		} catch (Exception e) {
			qo.setIdFrom(null);
		}
		try {
			qo.setIdTo(Long.parseLong(idTo));
		} catch (Exception e) {
			qo.setIdTo(null);
		}
		PageBean<Department> list = departService.selectList(qo,Integer.parseInt(pageNum),Integer.parseInt(pageSize));
		//第一页数据
		request.setAttribute("pageInfo", list);
		request.setAttribute("qo", qo);//目标为了数据的回写
		request.getRequestDispatcher("/WEB-INF/viiew/department/list.jsp").forward(request, response);

	}
	
	

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

ToDeptInput.java

package cn.wolfcode.two.department.servlet;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import cn.wolfcode.two.department.entity.Department;
import cn.wolfcode.two.department.service.IDepartmentService;
import cn.wolfcode.two.department.service.impl.DepartmentServiceImpl;

public class ToDeptInput extends HttpServlet {
	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String id = request.getParameter("id");
		String title = "增加";
		if(id!=null) {
			IDepartmentService departService = new DepartmentServiceImpl();
			Department department = departService.selectOne(Long.parseLong(id));
			title = "编辑";
			request.setAttribute("department", department);
		}
		//与entity对象的区别不大
		Map<String,String> citys = new HashMap<>();
		citys.put("sy", "沈阳");
		citys.put("as", "鞍山");
		citys.put("ly", "辽阳");
		citys.put("dl", "大连");
		
		request.setAttribute("citys", citys);
		request.setAttribute("title", title);
		request.getRequestDispatcher("/WEB-INF/viiew/department/input.jsp").forward(request, response);
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

mybatis.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd" >
<configuration>



<properties resource="conf/db.properties"></properties>

<typeAliases >
    <package name="cn.wolfcode.two.department.entity"/>
</typeAliases>

<environments default="mysql5">
  <environment id="mysql5">
     <transactionManager type="JDBC"></transactionManager>
     <dataSource type="cn.wolfcode.two.utils.DruidDataSourceFactory">
       <property name="driverClass" value="${mysql.driverName}"/>
       <property name="url" value="${mysql.url}"/>
       <property name="username" value="${mysql.username}"/>
       <property name="password" value="${mysql.password}"/>
     </dataSource>
  </environment>
</environments>
<!-- mapper 表级 -->
  <mappers >
     <!-- <mapper class="cn.wolfcode.two.utils.DruidDataSourceFactory"/> --> 
     <!-- <mapper resource="cn/wolfcode/mapper/AccountMapper.xml"/> -->
     <package name="cn.wolfcode.two.department.mapper"/>
  </mappers>
 
  
</configuration>

list.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>

<script type="text/javascript">


function go(type){
	
	let pageNum= document.getElementById("pageNum").value;
	switch(type){
	case -1:
		pageNum=parseInt(pageNum)-1;
		document.getElementById("pageNum").value=pageNum;
		break;
	case -2:
		pageNum=parseInt(pageNum)+1;
		document.getElementById("pageNum").value=pageNum;
		break;
	case 1:
		document.getElementById("pageNum").value=1;
		break;
	case 999:
		document.getElementById("pageNum").value=999;
		break;
	}
	//js 控制表单提交
	document.getElementById("searchForm").submit();
	
}
function deleteOne(id) {
	if(window.confirm("确定要删除吗?")){
	let context="<input type='hidden' name='id' value='"+id+"'>";
	//同上,es6新特性,let es6新特性
	//context = `<input type='hidden' name='id' value='${id}'>`;
	//let(有范围的变量) var(全局,没有范围,方法除外)
	document.getElementById("editForm").innerHTML=context;//把context放入到rorm标签之间
	document.getElementById("editForm").submit();//提交表单
	}

}

function deleteMany() {
	//验证多选框是否选一个
	document.getElementById("delete_bath_error").style.display="none";
	//num选中元素的个数
	let num = 0;
	//获取所有name = id的元素数组
	let ids = document.getElementsByName("id");
	//遍历数组,id指的是name=id的元素,是input的对象
	for (let id of ids) {
		//多选框中的属性checked 如果是true是选中的 false是没选中
		if(id.checked==true){
			num++;
		}
	}
	if(num<1){//判断是否有选中的元素
		document.getElementById("delete_bath_error").style.display="";
		return;
	}
	if(window.confirm("确定要删除吗?")){
	document.getElementById("editForm").submit();//提交表单
	}

}

function checkAllFunc() {
	let b=document.getElementById("checkall").checked;
	let ids=document.getElementsByName("id");
	for (let id of ids){
		id.checked=b;
	}
}

function checkItem() {
	//获取所有name=id的元素
	let ids=document.getElementsByName("id");
	let totalNum=ids.length;//元素的总数
	let checkedNum=0;//选中元素的个数
	//遍历所有的元素
	for (let id of ids){ 
		if(id.checked==true){//如果id被选中
			checkedNum++;//选中个数加一
		}
	}
	if(totalNum==checkedNum){//都选中状态
		document.getElementById("checkall").checked=true;
	}else {//有没选中的状态
		document.getElementById("checkall").checked=false;
	}
}

</script>

</head>
<body>

<c:if test="${!empty requestScope.msg }">
	<script type="text/javascript">alert('${requestScope.msg}');</script>
</c:if>
   <h1>部门列表管理</h1>
   <div>
      <form action="/2-05-Department/toDepartmentListServlet" id="searchForm" method="post" >
      关键字:&nbsp; <input type="text" name="keyword" placeholder="请输入用户名" value="${requestScope.qo.keyword}"> 
    &nbsp;&nbsp;&nbsp;&nbsp;
    编号:<input type="text" name="idFrom"  value="${requestScope.qo.idFrom}"><input type="text" name="idTo" value="${requestScope.qo.idTo}">
      &nbsp;&nbsp;&nbsp;&nbsp;<button type="submit">查询</button> 
     &nbsp;&nbsp;<button type="button" onclick="window.location.href='/2-05-Department/toDeptInput';">添加</button>
      &nbsp;&nbsp;<button type="button" onclick="deleteMany()">批量删除</button>
      
      <input type="hidden" name="pageNum" id="pageNum" value="${requestScope.pageInfo.pageNum}">
      
      </form>
   </div>
   <hr>
   
   <form action="/2-05-Department/deptServlet" id="editForm" method="post"></form>
   <div align="center" style="margin-top: 50px">
   	<table border="1" width="70%">
   	<caption style="font-size: 30px;font-weight: bold;">部门一览信息表</caption>
   	<thead>
   		<tr>
   		    <th><input type="checkbox" id="checkall" onclick="checkAllFunc()"></th>
   			<th>序号</th>
   			<th>部门编号</th>
   			<th>部门名称</th>
   			<th>城市</th>
   			<th>操作</th>
   		</tr>
   	</thead>
   	<tbody id="deptBody">
   	
   	  <c:forEach items="${requestScope.pageInfo.list}" var="dept" varStatus="i">
   	   <tr align="center">
   		   <td> <input type="checkbox" form="editForm" onclick="checkItem()" name="id" value="${dept.id}"></td>
   		    <td>${i.count}</td>
   		     <td>${dept.id}</td>
   		      <td>${dept.name}</td>
   		      <td>${dept.city}</td>
   		      <td><a href="javascript:void(0)" onclick="window.location.href='/2-05-Department/toDeptInput?id=${dept.id}';">编辑</a> &nbsp;&nbsp;&nbsp;&nbsp; 
   		       <a href="javascript:void(0)" onclick="deleteOne(${dept.id});">删除</a></td>
   		</tr>
   	   
   	   </c:forEach>

   	</tbody>
   	
   	</table>
<br><span id="delete_bath_error" style="display: none;color:red;font-size:8px">批量删除至少选一个元素</span>
   </div>
   
   <div align="center" style="margin-top: 50px">
   <c:if test="${requestScope.pageInfo.pageNum==1}">
   首页&nbsp;&nbsp;
   </c:if>
   <c:if test="${requestScope.pageInfo.pageNum!=1}">
   <a href="javascript:void(0)" onclick="go(1)">首页</a>  &nbsp;&nbsp;
   </c:if>
   		
   		<a href="javascript:void(0)" onclick="go(-1)">上一页</a> 
   		&nbsp;&nbsp;<a href="javascript:void(0)" onclick="go(-2)">下一页</a>
   		<c:if test="${requestScope.pageInfo.pageNum==requestScope.pageInfo.pages}">
  	 	末页&nbsp;&nbsp;
   		</c:if>
   		<c:if test="${requestScope.pageInfo.pageNum!=requestScope.pageInfo.pages}">
  			&nbsp;&nbsp;<a href="javascript:void(0)" onclick="go(999)">末页</a>&nbsp;&nbsp;&nbsp;&nbsp;
   </c:if>
每页<select name="pageSize" id="pageSize" form="searchForm" onchange="go(-3)">
	<option value="3">3</option>
	<option value="5">5</option>
	<option value="10">10</option>
	
	</select>
	<script type="text/javascript">
	//通过js给select元素设定默认值
	document.getElementById("pageSize").value='${requestScope.pageInfo.pageSize}';
	</script>
   		 ${requestScope.pageInfo.pageNum}/${requestScope.pageInfo.pages}
   </div>
</body>
</html>

input.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript">
function editSubmit() {
	//错误消息复位
	document.getElementById("name_error").style.display="none";
	document.getElementById("city_error").style.display="none";
	//获取表单信息
	let name = document.getElementById("name").value;
	let city = document.getElementById("city").value;
	//开始验证 
	let b = true;
	if(/^\s*$/.test(name)){
		b=false;
		document.getElementById("name_error").style.display="";
	}
	if(city==""){
		b=false;
		document.getElementById("city_error").style.display="";
	}
	//b决定是否提交问题
	return b;
}
</script>
</head>
<body>
<h1>部门${requestScope.title}</h1>
<div align="center">
	<form action="/2-05-Department/departmentSaveOrUpdateServlet" id="editForm" method="post" onsubmit="return editSubmit();">
	<input type="hidden" name="id" id="id">
	<div style="margin-top: 50px"> 部门名称<input type="text" name="name" id="name"><br> 
	<span id="name_error" style="display:none;color:red">部门名称不能为空</span> </div>
	<div style="margin-top: 50px"> 所在城市<select name="city" id="city">
		<option value="">请选择:</option>
		<c:forEach items="${requestScope.citys}" var="city">
		<option value="${city.value}">${city.value}</option>
		</c:forEach>
	</select> 
		<span id="city_error" style="display: none;color: red">城市必须选择</span>
		</div>
	<div style="margin-top: 50px"> <button type="submit">${requestScope.title}</button> &nbsp;&nbsp;&nbsp;<button type="reset">重置</button></div>
	</form>

</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值