mvc版增删查改

增删查改的大概安排

写增删查改分别 由三张表组成 ,由学生表,教师表,班级表, 有util entity dao biz Servlet 等包

第一步写util包先连接数据库里

面有DBAccess.java

/**
 * 提供了一组获得或关闭数据库对象的方法
 * 
 */
public class DBAccess {
	private static String driver;
	private static String url;
	private static String user;
	private static String password;

	static {// 静态块执行一次,加载 驱动一次
		try {
			InputStream is = DBAccess.class
					.getResourceAsStream("config.properties");

			Properties properties = new Properties();
			properties.load(is);

			driver = properties.getProperty("driver");
			url = properties.getProperty("url");
			user = properties.getProperty("user");
			password = properties.getProperty("pwd");

			Class.forName(driver);
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	/**
	 * 获得数据连接对象
	 * 
	 * @return
	 */
	public static Connection getConnection() {
		try {
			
			
			Connection conn = DriverManager.getConnection(url, user, password);
			return conn;
		} catch (SQLException e) {
			e.printStackTrace();
			throw new RuntimeException(e);
		}
	}

	public static void close(ResultSet rs) {
		if (null != rs) {
			try {
				rs.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(PreparedStatement ps) {
		if (null != ps) {
			try {
				ps.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Connection conn) {
		if (null != conn) {
			try {
				conn.close();
			} catch (SQLException e) {
				e.printStackTrace();
				throw new RuntimeException(e);
			}
		}
	}

	public static void close(Connection con, PreparedStatement ps, ResultSet rs) {
		close(rs);
		close(ps);
		close(con);
	}

	public static boolean isOracle() {
		return "oracle.jdbc.driver.OracleDriver".equals(driver);
	}

	public static boolean isSQLServer() {
		return "com.microsoft.sqlserver.jdbc.SQLServerDriver".equals(driver);
	}
	
	public static boolean isMysql() {
		return "com.mysql.cj.jdbc.Driver".equals(driver);
	}

	public static void main(String[] args) {
		Connection conn = DBAccess.getConnection();
		DBAccess.close(conn);
		System.out.println("isOracle:" + isOracle());
		System.out.println("isSQLServer:" + isSQLServer());
		System.out.println("isMysql:" + isMysql());
		System.out.println("数据库连接(关闭)成功");
	}
}

连接数据库还需要config.properties:

#mysql5
driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://localhost/mysql?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
user=root
pwd=123

第二步定义一个Student实体类

**
public class student {
	private int sid;
	private String sname;
	private String sjy;
	private String sbj;
	private String sah;
	public int getSid() {
		return sid;
	}
	public void setSid(int sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getSjy() {
		return sjy;
	}
	public void setSjy(String sjy) {
		this.sjy = sjy;
	}
	public String getSbj() {
		return sbj;
	}
	public void setSbj(String sbj) {
		this.sbj = sbj;
	}
	public String getSah() {
		return sah;
	}
	public void setSah(String sah) {
		this.sah = sah;
	}
	
	public student() {}
	public student(int sid, String sname, String sjy, String sbj, String sah) {
		this.sid = sid;
		this.sname = sname;
		this.sjy = sjy;
		this.sbj = sbj;
		this.sah = sah;
	}
	
	public student(String sname, String sjy, String sbj, String sah) {
		this.sname = sname;
		this.sjy = sjy;
		this.sbj = sbj;
		this.sah = sah;
	}
	

}

后面还需要教师实体类,和班级实体类


public class sbj {
	private int bid;
	private String bname;
	public int getBid() {
		return bid;
	}
	public void setBid(int bid) {
		this.bid = bid;
	}
	public String getBname() {
		return bname;
	}
	public void setBname(String bname) {
		this.bname = bname;
	}
	public sbj(int bid, String bname) {
		super();
		this.bid = bid;
		this.bname = bname;
	}
	public sbj() {}
	

}


public class sjy {
	private int jid;
	private String jname;
	private String jsex;
	public int getJid() {
		return jid;
	}
	public void setJid(int jid) {
		this.jid = jid;
	}
	public String getJname() {
		return jname;
	}
	public void setJname(String jname) {
		this.jname = jname;
	}
	public String getJsex() {
		return jsex;
	}
	public void setJsex(String jsex) {
		this.jsex = jsex;
	}
	
	public sjy() {}
	public sjy(int jid, String jname, String jsex) {
		super();
		this.jid = jid;
		this.jname = jname;
		this.jsex = jsex;
	}
	
	public sjy(String jname, String jsex) {
		this.jname = jname;
		this.jsex = jsex;
	}
	

}

第三步写dao包

先写一个student接口

public interface IbjDao {
	public List<sbj> getAll();
	public List<sbj> getAll(String colName,String str);
	public sbj getAllByBid(String bid);
	public int addbj(sbj s);
	public int deletebj(String bid);
	public int updatebj(sbj s,String bid);

}

在写一个student的dao方法


public class StuDao implements IstuDao {
	Connection con = null;
	PreparedStatement ps = null;
	ResultSet rs = null;
	

	@Override
	public List<student> getAll() {
		List<student> ls = new ArrayList<>();
		try {
			con = DBAccess.getConnection();
			ps=con.prepareStatement("select * from tb_stu");
			rs = ps.executeQuery();
			while(rs.next()){
				student stu = new student();
				stu.setSid(rs.getInt(1));
				stu.setSname(rs.getString(2));
				stu.setSjy(rs.getString(3));
				stu.setSbj(rs.getString(4));
				stu.setSah(rs.getString(5));
				ls.add(stu);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		
		return ls;
	}

	@Override
	public List<student> getAll(String colName, String str) {
		List<student> ls = new ArrayList<>();
		try {
			con = DBAccess.getConnection();
			ps = con.prepareStatement("select * from tb_stu where "+colName+" like '%"+str+"%'");
			rs = ps.executeQuery();
			while(rs.next()){
				student stu = new student();
				stu.setSid(rs.getInt(1));
				stu.setSname(rs.getString(2));
				stu.setSjy(rs.getString(3));
				stu.setSbj(rs.getString(4));
				stu.setSah(rs.getString(5));
				ls.add(stu);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		
		return ls;
	}

	@Override
	public student getAllBySid(String sid) {
		student stu = new student();

		try {
			con = DBAccess.getConnection();
			ps=con.prepareStatement("select * from tb_stu where sid=?");
			ps.setInt(1, Integer.parseInt(sid));
			rs = ps.executeQuery();
			if(rs.next()){
				stu.setSid(rs.getInt(1));
				stu.setSname(rs.getString(2));
				stu.setSjy(rs.getString(3));
				stu.setSbj(rs.getString(4));
				stu.setSah(rs.getString(5));
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		
		return stu;
	}
	
	

	@Override
	public int addstu(student stu) {
		int n = 0;
		try {
			con =DBAccess.getConnection();
			ps = con.prepareStatement("insert into tb_stu(sid,sname,sjy,sbj,sah) values(?,?,?,?,?)");
			ps.setInt(1, stu.getSid());
			ps.setString(2, stu.getSname());
			ps.setString(3, stu.getSjy());
			ps.setString(4, stu.getSbj());
			ps.setString(5, stu.getSah());
			n = ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		return n;
	}

	@Override
	public int deletestu(String sid) {
		int n = 0;
		try {
			con =DBAccess.getConnection();
			ps = con.prepareStatement("delete from tb_stu where sid=?");
			ps.setInt(1, Integer.parseInt(sid));
			
			n = ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		return n;
	}

	@Override
	public int updatestu(student stu, String sid) {
		int n = 0;
		try {
			con =DBAccess.getConnection();
			ps = con.prepareStatement("update tb_stu set sname=?,sjy=?,sbj=?,sah=? where sid=?");
			ps.setString(1, stu.getSname());
			ps.setString(2, stu.getSjy());
			ps.setString(3, stu.getSbj());
			ps.setString(4, stu.getSah());
			ps.setInt(5, Integer.parseInt(sid));
			n = ps.executeUpdate();
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		return n;
	}

	//获取新闻表最大Nid
	@Override
	public int getMaxNid() {
		int n=0;
		try {
			con=DBAccess.getConnection();
			ps = con.prepareStatement("select nvl(max(sid),0) from tb_stu");
			ResultSet rs = ps.executeQuery();
			if(rs.next()){
				n = rs.getInt(1)+1;
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		return n;
	}

	@Override
	public int getRows(String str) {
		int n = 0 ;
		try {
			con = DBAccess.getConnection();
			ps=con.prepareStatement("select count(*) from "+str);
			rs=ps.executeQuery();
			if(rs.next()){
				n=rs.getInt(1);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}finally{
			DBAccess.close(con, ps, rs);
		}
		return n;
	}

}

同理:写一个biz层,先写一个接口

public interface IbjBiz {
	public List<sbj> getAll();
	public List<sbj> getAll(String colName,String str);
	public sbj getAllByBid(String bid);
	public int addbj(sbj s);
	public int deletebj(String bid);
	public int updatebj(sbj s,String bid);

}

bizDao

public class StuBiz implements IstuBiz {
	
	IstuDao id = new StuDao();

	@Override
	public List<student> getAll() {
		// TODO Auto-generated method stub
		return id.getAll();
	}

	@Override
	public List<student> getAll(String colName, String str) {
		// TODO Auto-generated method stub
		return id.getAll(colName, str);
	}

	@Override
	public student getAllBySid(String sid) {
		// TODO Auto-generated method stub
		return id.getAllBySid(sid);
	}

	@Override
	public int addstu(student stu) {
		// TODO Auto-generated method stub
		return id.addstu(stu);
	}

	@Override
	public int deletestu(String sid) {
		// TODO Auto-generated method stub
		return id.deletestu(sid);
	}

	@Override
	public int updatestu(student stu, String sid) {
		// TODO Auto-generated method stub
		return id.updatestu(stu, sid);
	}

	@Override
	public int getMaxNid() {
		// TODO Auto-generated method stub
		return id.getMaxNid();
	}

	@Override
	public int getRows(String str) {
		// TODO Auto-generated method stub
		return id.getRows(str);
	}

	@Override
	public List<student> getAllByPage(int pageIndex, int pageSize) {
		List<student> ls = id.getAll();
		List<student> newls = new ArrayList<student>();
		int start = (pageIndex-1)*pageSize;
		int end = pageIndex*pageSize-1;
		for(int i=start;i<=end;i++){
			if(end>=ls.size()){
				end = ls.size()-1;
			}
			student s = ls.get(i);
			newls.add(s);
		}
		return newls;
	}



}

第四步,写servlet包

分别有增删查改的Servlet
AddServlet.java


public class AddServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();
		
		IstuBiz i = new StuBiz();
		String sid = req.getParameter("sid");
		String sname = req.getParameter("sname");
		String sjy = req.getParameter("sjy");
		String sbj = req.getParameter("sbj");
		String sah = req.getParameter("sah");
		
		student stu = new student(Integer.parseInt(sid), sname, sjy, sbj, sah);
		
		
		int n = i.addstu(stu);
		if(n>0){
			resp.sendRedirect("index.jsp");
		}
		else{
			out.print("<script>alert('增加失败');location.href='index.jsp';</script>");
		}
	}

}

DeleteServlet.java

public class DeleteServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();
		
		IstuBiz ib = new com.biz.impl.StuBiz();
		String sid = req.getParameter("sid");
		int n = ib.deletestu(sid);
		if(n>0) {
			resp.sendRedirect("index.jsp");
		}
		else {
			out.print("<script>alert('删除失败');location.href='index.jsp';</script>");
		}
	}

}

IndexServlet.java

public class IndexServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		
		IstuBiz ib = new StuBiz();
		List<student> ls = ib.getAll();
		req.setAttribute("myls", ls);
		if(ls.size()!=0) {
			req.getRequestDispatcher("index.jsp").forward(req, resp);
		}
		else {
			System.out.println("集合为空");
		}
	}

}

PreupdateServlet.java
public class PreupdateServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
req.setCharacterEncoding(“utf-8”);
resp.setContentType(“text/html;charset=utf-8”);

	IstuBiz i = new StuBiz();
	String sid = req.getParameter("sid");
	System.out.println("~~~~~~~~~~~~~~~~~~~~~~~~~~sid");
	
	student s = i.getAllBySid(sid);
	req.setAttribute("myll", s);
	if(s!=null){
		req.getRequestDispatcher("update.jsp").forward(req, resp);
		
	}
}

}

UpdateServlet.java


public class UpdateServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doPost(req, resp);
	}
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		req.setCharacterEncoding("utf-8");
		resp.setContentType("text/html;charset=utf-8");
		PrintWriter out = resp.getWriter();
		
		IstuBiz i = new StuBiz();
		String sid = req.getParameter("sid");
		String sname = req.getParameter("sname");
		String sjy = req.getParameter("sjy");
		String sbj = req.getParameter("sbj");
		String sah = req.getParameter("sah");
		
		student stu = new student(sname, sjy, sbj, sah);
		
		int n = i.updatestu(stu, sid);
		if(n>0){
			resp.sendRedirect("index.jsp");
		}
		else{
			out.print("<script>alert('修改失败');location.href='index.jsp';</script>");
		}
	}

}

第五步配置 (web.xml)

当然写完只好我们需要配置一下:(web.xml)

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">
  <display-name>t3</display-name>
  
  
  <servlet>
  	<servlet-name>indexServlet</servlet-name>
  	<servlet-class>com.servlet.IndexServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>indexServlet</servlet-name>
  	<url-pattern>/index.do</url-pattern>
  </servlet-mapping>
  
  
  <servlet>
  	<servlet-name>deleteServlet</servlet-name>
  	<servlet-class>com.servlet.DeleteServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>deleteServlet</servlet-name>
  	<url-pattern>/delete.do</url-pattern>
  </servlet-mapping>
  
  
  
  <servlet>
  	<servlet-name>bjIndexServlet</servlet-name>
  	<servlet-class>com.servlet.BjIndexServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>bjIndexServlet</servlet-name>
  	<url-pattern>/bjindex.do</url-pattern>
  </servlet-mapping>
  
 
   <servlet>
  	<servlet-name>addServlet</servlet-name>
  	<servlet-class> com.servlet.AddServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>addServlet</servlet-name>
  	<url-pattern>/add.do</url-pattern>
  </servlet-mapping>
  
  
  
  
  <servlet>
  	<servlet-name>preupdateServlet</servlet-name>
  	<servlet-class> com.servlet.PreupdateServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>preupdateServlet</servlet-name>
  	<url-pattern>/preupdate.do</url-pattern>
  </servlet-mapping>
  
  
  <servlet>
  	<servlet-name>updateServlet</servlet-name>
  	<servlet-class> com.servlet.UpdateServlet</servlet-class>
  </servlet>
  
  <servlet-mapping>
  	<servlet-name>updateServlet</servlet-name>
  	<url-pattern>/update.do</url-pattern>
  </servlet-mapping>
  
  
</web-app>

第六步界面排布

最后一步就到了我们的界面了:
index.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 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>
<div align="center">
教员下拉列表:
	<select name="aa">
		<option value="jname">教员名字</option>
		<option value="jname">杰哥</option>
		<option value="jname">晓哥</option>
		<option value="jname">潘哥</option>
	</select>
	
	班级下拉列表:
			<select>
				<option value="bname">班级名字</option>
				<option value="bname">t224</option>
				<option value="bname">t234</option>
				<option value="bname">t242</option>
			</select>
    		
</div>


<div align="center">
	<a href="add.jsp">增加</a>
</div>
<table border="1px" align="center">
	<tr>
		<td>编号</td>
		<td>姓名</td>
		<td>教员</td>
		<td>班级</td>
		<td>爱好</td>
		<td>操作</td>
	</tr>
	
	<c:if test="${empty myls}">
    		<jsp:forward page="index.do"></jsp:forward>
    	</c:if>
    	<c:forEach items="${myls}" var="s">
    		<tr>
    		<td>${s.sid }</td>
    		<td>${s.sname }</td>
    		<td>${s.sjy }</td>
    		<td>${s.sbj }</td>
    		<td>${s.sah }</td>
    		<td><a href="delete.do?sid=${s.sid }" onclick="return confirm('你确定要删除吗')">删除</a>
    			<a href="preupdate.do?sid=${s.sid }">修改</a>
    			
    		</td>
    	</tr>
    	</c:forEach>
</table>
		<p align="right"> 当前页数:${pageIndex }/${max }&nbsp; 
	      <a href="index.jsp?sid=1">首页</a> 
	      <a href="index.jsp?sid=${pageIndex>1?pageIndex-1:1 }">上一页</a> 
	      <a href="index.jsp?sid=${pageIndex<max?pageIndex+1:max }">下一页</a> 
	      <a href="index.jsp?sid=${max }">末页</a>
	       </p> 

</body>
</html>

输出结果为:
在这里插入图片描述
add.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'add.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	
  </head>
  
  <body>
    <div>
    	<form action="add.do" method="post">
    		学号:<input type="text" name="sid"/></br>
    		姓名:<input type="text" name="sname"/></br>
	<select name="sjy">
		<option value="sjy">教员名字</option>
		<option value="杰哥">杰哥</option>
		<option value="晓哥">晓哥</option>
		<option value="潘哥">潘哥</option>
	</select>
	
			<select name="sbj">
				<option value="sbj">班级名字</option>
				<option value="t224">t224</option>
				<option value="t234">t234</option>
				<option value="t242">t242</option>
			</select></br>
    		
    		
    		爱好:<input type="checkbox" value="吃饭" name="sah"/>吃饭
		<input type="checkbox" value="睡觉" name="sah"/>睡觉
		<input type="checkbox" value="打豆豆" name="sah"/>打豆豆
    		<input type="submit" value="增加"/>
    	</form>
    </div>
  </body>
</html>

输出结果为:
在这里插入图片描述
update.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'add.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
	
  </head>
  <script type="text/javascript">
		  var tm=mydata.movie.tmovie;
			var n=tm.split('、');
			$.each(n, function(index,elem) {
				$("input[value='"+elem+"']").prop("checked",true);
		    });

  </script>
  
  <body>
    <div>
    	<form action="update.do" method="post">
    		姓名:<input type="text" name="sname" value="${myll.sname }"/></br>
    		
	<select name="sjy">
		
		<option value="${myll.sjy }">教员名字</option>
		<option id="id" selected="selected">杰哥</option>
		<option value="${myll.sjy }">晓哥</option>
		<option value="${myll.sjy }">潘哥</option>
	</select>


	
			<select name="sbj" >
				<option value="${myll.sbj }">班级名字</option>
				<option value="${myll.sbj }">t224</option>
				<option value="${myll.sbj }">t234</option>
				<option value="${myll.sbj }">t242</option>
			</select></br>
    		
    			爱好:<input type="checkbox" name="sah" value="${myll.sah }" checked="checked"/>吃饭
						<input type="checkbox" name="sah" value="${myll.sah }"/>睡觉
						<input type="checkbox" name="sah" value="${myll.sah }"/>打豆豆</br>
    		
    	
		<input type="hidden" name="sid" value="${myll.sid }"/>
    		<input type="submit" value="修改"/>
    	</form>
    </div>
  </body>
</html>

输出结果为:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Zhangrunhong/article/details/91348917