天天看點

更新頁面的三種形式

<%@ page import="Utill.JdbcConnetUtil" %>
<%@ page import="java.sql.Connection" %>
<%@ page import="java.sql.PreparedStatement" %>
<%@ page import="java.sql.SQLException" %>
<%@ page import="static java.lang.Integer.parseInt" %>
<%@ page import="java.sql.ResultSet" %><%--
  Created by IntelliJ IDEA.
  User: 000
  Date: 2019/3/17
  Time: 11:46
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql" %>
<html>
<head>
    <title>更新學生資訊</title>
</head>
<body>
    <!------
        更新操作  1.擷取id  2.查詢資料庫資料  傳回來的資料 進行填充form 3.根據使用者修改的資訊進行再次儲存回資料庫
    --------->
                                <%--這個是用%号的--%>
    <%
        ResultSet rs = null;
        String id = request.getParameter ("id");
        Connection conn = JdbcConnetUtil.conn ();
        PreparedStatement ps = conn.prepareStatement ("select name,age from student where id=?");
        try {
            ps.setString (1, id);
            rs = ps.executeQuery ();
        } catch (SQLException e) {
            e.printStackTrace ();
        }
    %>
    <%if (rs.next () ==true){%>
        <form action="UpdateStudentServlet" method="post">

            更新:
            <%try{%>
            姓名:<input type="text" name="name" value="<%=rs.getString("name")%>" /><br/>
            年齡:<input type="text" name="age" value="<%=rs.getString("age")%>"/><br/>
           <% } catch (SQLException e) {
            e.printStackTrace ();
            }%>
            <input type="hidden" name="status" value="isstudentUpdate">
            <input type="submit" value="送出">
            <input type="hidden" name="id" value="<%=id%>">
        </form>


    <%}else {%>

    <%}%>
    <%
        JdbcConnetUtil.close (rs,ps,conn);
    %>
    <%--------------------------------------------------------------------------%>
                                    <%--以下是用了jstl中的sql标簽,從背景拿到的值--%>
<sql:setDataSource var="sdate" driver="com.mysql.jdbc.Driver"
        url="jdbc:mysql://127.0.0.1:3306/student?userUnicode=true&characterEncoding=utf8" user="root" password="123456"/>
    <sql:query var="result" dataSource="${sdate}">
        select name,age from student where id="${param.id}";
    </sql:query>
    <c:forEach var="row" items="${result.rows}">
    <form action="UpdateStudentServlet" method="post">
        更新:
        姓名:<input type="text" name="name" value="${row.name}" /><br/>
        年齡:<input type="text" name="age" value="${row.age}"/><br/>
        <input type="submit" value="送出">
        <input type="hidden" name="id" value="${param.id}">
    </form>
        &lt;%&ndash;JdbcConnetUtil.close (rs,ps,conn);&ndash;%&gt;
    </c:forEach>
    <%-----------------------------------------------------------------------------%>
                                <%--這個是從前台拿到的值--%>
    <form action="UpdateStudentServlet" method="post">
        更新:
        姓名:<input type="text" name="name" value="${param.name}" /><br/>
        年齡:<input type="text" name="age" value="${param.age}"/><br/>
        <input type="submit" value="送出">
        <input type="hidden" name="id" value="${param.id}">
    </form>

</body>
</html>
           

繼續閱讀