【问题标题】:Replace GET request by POST without form in JSP在 JSP 中用没有表单的 POST 替换 GET 请求
【发布时间】:2022-10-20 05:52:12
【问题描述】:

所以我有这个 JSP 页面,其中包含来自表的数据并形成一个 GET 请求以在另一个页面上呈现更多数据,方法是单击其中一个表行 问题是我必须将其转换为 POST 方法,以避免在 http 请求链接中获取信息

我知道如何使用带有表格的帖子,但在这里我必须从表格行而不是表格中获取日期 任何想法如何做到这一点。我是 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>

【问题讨论】:

    标签: java jsp post get


    【解决方案1】:

    我知道你想做什么。

    最简单的方法是使用表格。所以你可以在点击的时候调用一个js方法 &lt;tr onclick="myMethod()"&gt; 你要的那个。

    该方法可以填写您的表单并发送提交。使用这个你可以被重定向而不在你的 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:

    【讨论】:

      猜你喜欢
      • 2011-09-25
      • 1970-01-01
      • 2014-01-29
      • 2016-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-19
      • 2013-11-14
      相关资源
      最近更新 更多