我在JSP页面中制作了一个TravelRecords表,Nowii希望有一个编辑选项来编辑TravelStartDate和TravelEndDate和TravelEndDate,如Capture1所示。
。当我单击"编辑选项"时,弹出了一个表单:ED仅允许用户编辑TravelStartDate和TravelEndDate,然后使用新值应用,如Capture2中所示。
弹出表格得到了尊重的一致性,但是当我单击"应用按钮"时,由于按钮没有得到尊重的一致值,因此更改并未保存在数据库中,因此不会进一步传递到其servlet进行数据库更新。p>弹出式表单是JSP页面,其中我使用了内联Java代码从其他JSP页面获取同意值(这是CID且正在工作)。
,但我无法使用此CID变量或直接请求。GETPARAMETER(" consurid")内部按钮onClick函数,因为该cid值已在脚本<%%> tags中调用。
。在servlet页面中,我通过使用字符串conturid = request.getParameter(" cocurid");
获得了同意价值。如何在脚本标签之外(即在按钮中)传递此值,以便将其发送到某个Servlet页面以进行数据库中的更新?
(POPUP.jsp)
<html>
<%@ page import = "java.io.*,
javax.servlet.*,java.sql.*,java.util.*,java.time.LocalDate" %>
<body>
<%@ page import="java.sql.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.util.*"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<form action="ServletEdit">
<table style="float:left;color:white; font-family:
Arial, Helvetica, sans-serif; font-size:11.6px;font-weight:bold;"
border="4" cellpadding="4" cellspacing="4">
<tr bgcolor="#928E8E" style="border:1pt solid
black">
<tr>
<td>FULLNAME</td>
</tr>
<tr>
<td>FUNCTION</td>
</tr>
<tr>
<td>MANAGER</td>
</tr>
<tr>
<td>PURPOSE</td>
</tr>
<tr>
<td>PNAME</td>
</tr>
<tr>
<td>MEETING</td>
</tr>
<tr>
<td style="height: 29px;">REQDATE</td>
</tr>
<tr>
<td style="height: 34px;">STARTDATE</td>
</tr>
<tr>
<td style="height: 34px;">ENDDATE</td>
</tr>
<tr>
<td style="height: 31px;">NUMDAYS</td>
</tr>
<tr>
<td>SOURCE</td>
</tr>
<tr>
<td>DEST</td>
</tr>
<tr>
<td>CDATE</td>
</tr>
<tr>
<td>CID</td>
</tr>
<tr>
<td>REMARKS</td>
</tr>
</tr>
</table>
<%
try
{ Connectioncon=DriverManager.getConnection
("jdbc:oracle:thin:@localhost:1521:xe","system","up78cp5317");
String pd=request.getParameter("REQUESTDATE");
String cid=request.getParameter("concurid");
String query="select * from APPROVAL Where
CONCURID='"+cid+"'";
Statement stmt=con.createStatement();
ResultSet rs=stmt.executeQuery(query);
while(rs.next())
{
%>
<table style="float:left;color:white;
font-family: Arial, Helvetica,
sans-serif; font-size:11.6px;font-weight:bold;" border="4"
cellpadding="4" cellspacing="4" >
<tr>
<tr>
<td><%=rs.getString("FULLNAME")%></td>
</tr>
<tr>
<td><%=rs.getString("FUNCTION")%></td>
</tr>
<tr>
<td><%=rs.getString("RESOURCEMANAGER")%></td>
</tr>
<tr>
<td><%=rs.getString("PURPOSEOFTRAVEL")%></td>
</tr>
<tr>
<td><%=rs.getString("PROJECTNAME")%></td>
</tr>
<tr>
<td><%=rs.getString("MEETINGDETAILS")%></td>
</tr>
<tr>
<td><textarea rows="1" cols="30"
name="RequestDate" type="date" readonly maxlength="100"
class="textbox" style="width: 150px;" id="pick_date"
onchange="cal()"><%=rs.getString("REQUESTDATE")%>
</textarea></td>
<script type="text/javascript">
function GetDays()
{
var dropdt = new
Date(document.getElementById("drop_date").value);
var pickdt = new
Date(document.getElementById("pick_date").value);
return parseInt((dropdt - pickdt) / (24 * 3600 *
1000));
}
function cal()
{
if(document.getElementById("drop_date"))
{
document.getElementById("numdays3").value=GetDays();
}
}
</script>
<tr>
<td><input name="TravelStartDate" type="date"
maxlength="100" class="textbox" style="width: 150px"
id="drop_date" onchange="cal()"/></td>
</tr>
<tr>
<td><input name="TravelEndDate" type="date" maxlength="100"
style="width: 150px"/></td>
</tr>
<tr>
<td><input name="numdays" type="text" maxlength="100"
readonly class="textbox" style="width: 150px" id="numdays3"
/></td>
</tr>
<tr>
<td><%=rs.getString("TRAVELSOURCE") %></td>
</tr>
<tr>
<td><%=rs.getString("TRAVELDESTINATION") %></td>
</tr>
<tr>
<td><%=rs.getString("CONCURDATE") %></td>
</tr>
<tr>
<td><%=rs.getString("CONCURID") %></td>
</tr>
<tr>
<td><%=rs.getString("ANYREMARKS") %></td>
</tr>
</tr>
</table>
<button type="submit" name="sign" value="SIGNIN"
onclick="location.href='ServletEdit?CONCURID=
<%=request.getParameter("concurid")%>'" style="width:70px;
height:30px;
margin-right:20%;
border:none;
border-radius:2px;
font-size:13px;
font-weight:bold;">Apply</button>
<%
}
%>
<%
}
catch(Exception e)
{
e.printStackTrace();
}
%>
</article>
</section>
</form>
</body>
而不是此
<button type="submit" name="sign" value="SIGNIN"
onclick="location.href='ServletEdit?CONCURID=
<%=request.getParameter("concurid")%>'">Apply</button>
您可以制作一个输入字段并将其隐藏起来,还可以将其放入您的表单标签
<input type="text" name="concurid" value="<%=request.getParameter("concurid")%>" hidden>
并使用servlet
中的request.getParameter("concurid")
直接调用此。
<button type="submit" name="sign" value="SIGNIN" >Apply</button>