【问题标题】:edit uploaded form using jsp使用jsp编辑上传的表单
【发布时间】:2020-02-05 06:17:59
【问题描述】:

我有一个 index.jsp 页面。在此页面中,用户将填写一些字段,例如 zid、firstname、lastname 等。在填写字段时,用户选择要上传到 MySQL 数据库的文件,然后单击“提交”,然后文件将与详细信息一起存储。存储的记录显示在 filelist.jsp 页面中。我创建了一个文件夹作为“allfiles”,所有用户上传的文件都将被存储并成功执行。我还有一个 filelist.jsp 页面,我使用这个 sql 查询从数据库 select * from dmsfiles 中获取所有记录。所有记录都以表格形式(列和行)获取。在这个 filelist.jsp 页面中,我有一个“编辑表单”列来编辑表单(index.jsp)。如果用户想要编辑任何文件,那么他/她点击“编辑”然后 index.jsp 将打开,然后用户根据需要进行一些更改,然后点击更新。现在的问题是,当我为任何记录单击“编辑”时,多个表单(index.jsp)一个接一个地打开。我开始知道为什么会这样,但我没有得到解决方案。这是因为,如果假设用户 zid=1234 存储了 4 个文件,那么 4 条记录 将显示到 filelist.jsp 具有相同的 zid。当我单击任何“编辑”时,会打开 4 个表单(index.jsp)。我想要的是,当我点击任何“编辑”时,只有相应的表单(index.jsp)应该打开。

我在editnew.jsp下面试过了

<%@page import="java.io.File"%>
<%@page import="java.sql.Timestamp"%>
<%@page import="java.util.Properties" %>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Statement"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.Connection"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Document Management System</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script type="text/javascript">
function showHide() {
   var checkbox = document.getElementById("chk");
   var hiddeninputs = document.getElementsByClassName("hidden");

    for (var i = 0; i != hiddeninputs.length; i++) {
        if (checkbox.checked) {
           hiddeninputs[i].style.display = "block";
        } 
        else {
          hiddeninputs[i].style.display = "none";
        }
    }
}
</script>
</head>

<body>
<br>
<div id="Registercontainer">
<div class="RegForm">
<div id="back_glob">
<div id="back_form">
<%
try{
      String host = "jdbc:mysql://localhost:3306/dmsqms";
      Statement stat = null;
      ResultSet res = null;
      Connection conn = null;
      PreparedStatement stmt = null;
      Class.forName("com.mysql.jdbc.Driver");
      conn = DriverManager.getConnection(host,"root","");
 %>
<form action="UploadServletClass" method="post" enctype="multipart/form-data">

<%
stat = conn.createStatement();
String zid = request.getParameter("zid");
String data = "select * from dmsfiles where zid = '"+zid+"'";
res = stat.executeQuery(data);
while(res.next()){
%>
<center>
<h2>Upload a New Document</h2>
</center>
<table width="400px" align="center" border="2">
<tr>
<td align="center" colspan="2">Form Details</td>
</tr>
<tr>
<td>Z id</td>
<td>
<input type="text" name="zid" value='<%=res.getString(1)%>' />
</td>
</tr>
<tr>
<td>First Name</td>
<td>
<input type="text" required="" name="firstname" value='<%=res.getString(2)%>' />
</td>
</tr>
<tr>
<td>Last Name</td>
<td>
<input type="text" required="" name="lastname" value='<%=res.getString(3)%>' />
</td>
</tr>
<tr>
<td>Mail id</td>
<td>
<input type="email" required="" name="mailid" value='<%=res.getString(4)%>' />
</td>
</tr>
<tr>
<td>Division</td>
<td>

......

<tr>
<td>Select File</td>
<td>
<input type="file" name="fileName" multiple="multiple" />
<span> <%=res.getString("filename")%> </span>
</td>
</tr>
<%
}
%>
<tr>
<td></td>
<td>
<input type="submit" value="Submit" name="Submit" />
</td>
</tr>
</table>
</form>
<br>
<center><a href="home.jsp">Home</a></center>
</div>
</div>
</div>
</div>
<%
String z_id = request.getParameter("zid");
String first_Name = request.getParameter("firstname");
String last_Name = request.getParameter("lastname");
String mail_i_d = request.getParameter("mailid");
String d_iv = request.getParameter("division");
String de_pt = request.getParameter("department");
String cost_centercode = request.getParameter("costcentercode");
String doc_num = request.getParameter("documentnumber");     String doc_Name = request.getParameter("documentname");
String doc_Type = request.getParameter("Document_Type");   String doc_Category = request.getParameter("Document_Category");
String doc_classification = request.getParameter("Document_Classification");
String authorised_by = request.getParameter("authorisedby");
String from_date = request.getParameter("fromdate");
String to_date = request.getParameter("todate");
String document_level = request.getParameter("documentlevel");
String document_general = request.getParameter("documentgeneral");
String serial_number = request.getParameter("serialnumber");
String revision_number = request.getParameter("revisionnumber");
String iss_uer = request.getParameter("issuer");
String sta_tus = request.getParameter("status");
String file_Name = "";
String folder_Name = "allfiles";
String pa_th = folder_Name + File.separator + file_Name;
Timestamp add_ed_date = new Timestamp(System.currentTimeMillis());
            
if(z_id != null && first_Name != null && last_Name != null && mail_i_d != null && d_iv != null && de_pt != null && cost_centercode != null && doc_num != null && doc_Name != null && doc_Type != null && doc_Category != null && doc_classification != null && authorised_by != null && from_date != null && to_date != null && document_level != null && document_general != null && serial_number != null && revision_number != null && iss_uer != null && sta_tus != null && file_Name != null && folder_Name != null && pa_th != null && add_ed_date != null){

                String query = "update dmsfiles set zid=?,firstname=?,lastname=?,mailid=?,division=?,department=?,costcentercode=?,document_number=?,document_name=?,document_type=?,document_category=?,document_classification=?,authorised_by=?,fromdate=?,todate=?,document_level=?,document_general=?,serial_number=?,revision_number=?,issuer=?,status=?,filename=?,path=?,added_date=? where zid='"+z_id+"'";
                stmt = conn.prepareStatement(query);
                
                stmt.setString(1,z_id);
                stmt.setString(2,first_Name);
                stmt.setString(3,last_Name);
                stmt.setString(4,mail_i_d);
                stmt.setString(5,d_iv);
                stmt.setString(6,de_pt);
                stmt.setString(7,cost_centercode);
                stmt.setString(8,doc_num);
                stmt.setString(9,doc_Name);
                stmt.setString(10,doc_Type);
                stmt.setString(11,doc_Category);
                stmt.setString(12,doc_classification);
                stmt.setString(13,authorised_by);
                stmt.setString(14,from_date);
                stmt.setString(15,to_date);
                stmt.setString(16,document_level);
                stmt.setString(17,document_general);
                stmt.setString(18,serial_number);
                stmt.setString(19,revision_number);
                stmt.setString(20,iss_uer);
                stmt.setString(21,sta_tus);
                stmt.setString(22,file_Name);
                
                stmt.setString(23,pa_th);
                stmt.setTimestamp(24, null);
                stmt.executeUpdate();
                response.sendRedirect("filelist.jsp");
          }
}
catch(Exception e){
  System.out.println(e);
}   
%>
</body>
</html>

filelist.jsp 页面

<th class="text-center">Edit File</th>
...
<td><a href='editnew.jsp?zid=<%=rs.getString("zid")%>'>Edit</a>

【问题讨论】:

  • 评论不用于扩展讨论;这个对话是moved to chat
  • 您能否编辑您的问题并添加更多详细信息,即:您当前面临的问题?
  • @Swati,您能否检查一下我更新的上述代码。
  • 您可以在单击编辑按钮'editnew.jsp?zid=&lt;%=rs.getString("zid")%&gt;&amp;document_name=&lt;%=rs.getString("document_name")%&gt;' 时同时传递ziddocument name,然后将ziddocument_name 都传递给您的选择查询,以便只有该文件是显示在单击编辑的位置。

标签: javascript jquery jsp


【解决方案1】:

您能否将文件路径也作为查询参数传递给 editnew.jsp 并检查

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多