将 req.getParameter( "concurid" ) 值从某个 jsp 页面获取到内联 java 代码到另一个 jsp 页面中,然后将其传递给 servlet 通过按钮



我在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>

相关内容

最新更新