繁体   English   中英

从某个jsp页面获取req.getParameter(“ concurid”)值,将内联Java代码插入另一个jsp页面,然后通过按钮将其传递给servlet。

[英]Getting req.getParameter(“concurid”) value from some jsp page into inline java code into another jsp page and then pass it to servlet through button

我在一个jsp页面中作出了travelrecords表和nowIi想有一个编辑选项编辑travelstartdate和travelenddate如中可以看到捕获器

当我单击编辑选项时,将弹出一个窗体:仅允许用户编辑travelstartdate和travelenddate,然后应用新值(如capture2所示)

弹出表单受到尊重,但是当我单击Apply按钮时,更改未保存在数据库中,因为按钮没有受到尊重的价值,因此没有进一步传递给它的servlet进行数据库更新。

弹出表单是jsp页面,我在其中使用了内联Java代码从其他jsp页面(它是cid且正在工作)中获取concurud值。

但是我无法在按钮onclick函数中使用此cid变量或直接使用request.getParameter(“ concurid”),因为已在脚本<%%>标记中调用了此cid值。

在servlet页面中,我通过使用String CONCURID = request.getParameter(“ cocurid”);获得了conurid值。

如何将该值传递到脚本标签之外(即按钮中),以便可以将其发送到某个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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM