簡體   English   中英

如何將jsp頁面表中的值插入到數據庫中

[英]How to insert value from table of jsp page into database

我正在開發一個 Web 應用程序,其中有一個帶表格的 jsp 頁面。 該表由數據庫的值填充,除了一列可編輯且為空以供用戶輸入數據。 我的問題是我想在用戶將數據輸入可編輯單元格並按下提交按鈕后更新數據庫表。 誰可以幫我這個事。 下面是我的jsp頁面代碼。

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page import="com.employee.com.LoginDetails" %>
<%@ page import="java.sql.*" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" href="css/NewFile2.css">   
</head>
<body>
<img src="images/Crevavi_Plain.jpg" background-color="white"  width="300" height="70" style="float:right; margin-right:200px;"/></br>
<h1 style="margin-left:20px; margin-top:10px;"><font size="8" color="Black">  Notification </font></h1>
<fieldset style="float: center; width:1680px; height:900px; background-color:white; border-color:black; margin-top:10px;"></br></br>
<link rel="stylesheet" href="css/table.css">  
<fieldset style="float: center; width:250px; height: 450px; background-color:white; border-color:black; margin-top:10px;margin-left:10px;">
<fieldset style="float: center; width:900px; height:600px; background-color:; border-color:grey; margin-left:275px; margin-top:-450px;"></br>
<link rel="stylesheet" href="css/table.css"> 
<%
final String UserName,Password;
String name="",employeeid="",projectmanager="";
UserName = LoginDetails.username;
Password = LoginDetails.password;
String employname="",employId="",fromdate="",todate="",reason="";
ResultSet resultset = null;
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection connection = null;
try {
connection =    DriverManager.getConnection("jdbc:mysql://localhost:3306/students","root","root");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

Statement statement = null;
try {
statement = connection.createStatement();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {
resultset = statement.executeQuery("SELECT * FROM employmanage WHERE    Username = '"+UserName+"'");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
while(resultset.next()){
     projectmanager = resultset.getString(1);
}
}catch(Exception e){
e.printStackTrace();
}

try {
resultset = statement.executeQuery("SELECT * FROM leavedetails WHERE Projectmanager = '"+projectmanager+"'");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

try {%>
<TABLE>
<TR>
    <TH>Employee Name</TH>
    <TH>Employee ID</TH>
    <TH>From Date</TH>
    <TH>To Date</TH>
    <TH>Reason</TH>
    <TH>Status</TH>

</TR>
<% while(resultset.next()){ %>
<TR>
            <TD> <%= resultset.getString(1) %></TD>
            <TD> <%= resultset.getString(2) %></TD>
            <TD> <%= resultset.getString(4) %></TD>
            <TD> <%= resultset.getString(5) %></TD>
            <TD> <%= resultset.getString(6) %></TD>
            <TD contenteditable='true' %></TD>


 <% }
 }catch(Exception e){
e.printStackTrace();
}



%>

</fieldset>
</body></html>

理想情況下,您應該創建一個文件來處理數據庫操作,因此從 JSP 頁面中刪除所有與數據庫相關的代碼。

只要用戶點擊進入,就進行 ajax 調用並將編輯后的值發布到 servlet 或控制器,無論您使用的是哪個。

然后創建一個Service和DAO文件

您將在控制器中收到更改的值,將該值傳遞給服務文件並在該文件中創建所需的對象並將該對象傳遞給 DAO 層,在該文件中編寫代碼來處理數據庫操作。

您編寫代碼的方式不是理想的方式,不應遵循。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM