在JSP中以POST取代GET请求而不使用表单

2wnc66cl  于 2022-12-07  发布在  其他
关注(0)|答案(1)|浏览(158)

因此,我有一个JSP页面,其中包含来自表的数据,并形成一个GET请求,以便通过单击其中一个表行在另一个页面上呈现更多数据。问题是,我必须将其转换为POST方法,以避免在http请求链接中获取信息
我知道如何使用post和form,但是这里我必须从表行而不是表单中获取日期。我是JSP新手,所以我不知道如何做

<table border=0 bgcolor=#92ADC2 cellspacing=1 cellpadding=3 width=95% align=center>
    <tr class=entete>
        <td class=texte8 align=center>&nbsp;<spring:message code="nom"/></td>
        <td class=texte8 align=center>&nbsp;<spring:message code="date_naissance"/></td>
        <td class=texte8 align=center>&nbsp;<spring:message code="numero"/></td>

    </tr>
    <%  
            String v_Person = "";
            String v_date = "";
            String v_numero = "";
            
            for (int i = 0; i < PersonListeBean.getPerson(); i++)
            {
                Gen_rechBean cb = PersonListeBean.getPerson(i);
            
            
                    v_Person = cb.getname();
                    v_date=cb.getdate();
                    v_numero=cb.getNumero();
                    
            
                    }
                
            %>
                <tr class="<%=class_cell%>" onMouseOver="this.className='over';" onMouseOut="this.className='<%=class_cell%>';" onclick="javascript:parent['gauche'].document.location='ResultServlet?name=<%=v_Person%>&numero=<%=v_numero%>&date_naissance=<%=v_date%>">
                            <td class=texte7 align=left >&nbsp;<%=cb.getname()%></td>
                            <td class=texte7 align=left >&nbsp;<%=cb.getdate()%></td>
                            <td class=texte7 align=left >&nbsp;<%=cb.getNumero()%></td>
                    
                </tr>
            
</table>
<br>
<table width="95%" align="center" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td align="right">
        <a target="corps" href="rechResult.jsp" class="rub2" </a>
    </td>
  </tr> 
</table>
v440hwme

v440hwme1#

我明白你想干什么了。
最简单的方法就是使用表单,所以当你点击想要的<tr onclick="myMethod()">时,你可以调用js方法。
这个方法可以填写你的表单并发送提交。使用这个方法你可以被重定向而不需要在你的url中发送数据。
一个基本示例是:
(假设这些是服务器端打印的元素)

<tr onclick="myMethod(<%=getName()%>, <%=getDate()%>, <%=getNumero()%>)">
       <td>...</td>
       <td>...</td>
       <td>...</td>
    </tr>

   <form id="myForm" action="targetFile.jsp" method="post">
      //Hidden inputs to prevent users form touching this fields
      <input type="hidden" name="name" id="data1">
      <input type="hidden" name="date" id="data2">
      <input type="hidden" name="numero" id="data3">
   </form>
<script>
function myMethod(data1, data2, data3){
   //Im gonna use jQuery. Is like javascript but quite faster to use
    //Filling the form
    $("#data1").val(data1);
    $("#data2").val(data2);
    $("#data3").val(data3);

   //Submiting it
    $("myForm").submit();

}
</script>

如果有用的话告诉我。
c:

相关问题