簡體   English   中英

將數據從一個jsp傳遞到另一個jsp並顯示該jsp視圖

[英]Pass data from one jsp to another and display that jsp view

嘿,我是一名php開發人員,這是我第一次使用jsp。 現在我從我的類中檢索了一個Json字符串並將其轉換為GSON。 我在result.jsp顯示一個字段,例如: - ID,點擊id,它應該轉到details.jsp並顯示有關該ID的更多信息

目前我的result.jsp如下: -

<html>
<body>
     <div class="list-group">
                <% 
                   String json = (String)request.getAttribute("jsonstring");
                    Gson gson = new Gson();
                    ConCom diff = new ConCom();
                    diff = gson.fromJson(json, ConCom.class);
                    List<ComparisonResultDTOarr> ls = diff.getComparisonResultDTOarr();

                    for(int i = 0;i<ls.size();i++)
                    {
                        List<AuditItemLogsDTOArr> lsinner = ls.get(i).getAuditItemLogsDTOArr();
                        %><a href="#" class="list-group-item">
                        <%out.println(lsinner.get(0).getKeyAsString());%></a><%
                    }
                    %>
                  </div>
</body>
</html>

我在周圍閱讀並用谷歌搜索並理解我可以制作一個隱藏的形式。 現在我創建一個包含以下兩個字段的表單,並使用錨標記提交表單。 但是表單中的值需要根據點擊的ID發布,我該如何制作動態?

如果我的表格如下: -

<form action="details.jsp" method="post">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="phone">
</form>

而我的details.jsp將如下: -

<%= request.getParameter("firstname") %>
<%= request.getParameter("phone") %>

我希望根據點擊的ID和要提交的表單設置名字和電話。 我可以從此頁面中的diff對象獲取String / Integer值。 我需要使用JQuery嗎? 有幫助嗎?

我也知道我應該使用JSTL。 我很快就會談到這一點。 謝謝。

您可以在錨標記的onclick事件期間調用javascript函數:

    <a href="#" onclick="submitHiddenForm("<%=lsinner.getFirstName()%>", "<%=lsinner.getPhone()%>");">...

你的JS函數喜歡:

   function submitHiddenForm(firstName, phone) {

       document.getElementById("firstname").value = firstName;
       document.getElementById("phone").value = phone;
       // attach a name attribute to your form tag
       // submit the form
       document.myForm.submit();
   }

我希望這有幫助。

編輯:將差異更改為lsinner,因為這是循環中使用的var。

點擊ID調用javascript函數傳遞函數內部的值,你可以通過獲取像document.getElementById("firstname").value=value passed這樣的每個元素來動態設置表單的值document.getElementById("firstname").value=value passed類似地設置其他字段並在end document.myform.submit();

請注意,因為我們可以使用Id來獲取HTML元素

<form action="details.jsp" method="post" name="myform">
First name: <input type="hidden" name="firstname" id="firstname"><br>
Last name: <input type="hidden" name="phone" id="phone">
</form>

type="hidden"將隱藏元素。 檢查這些以便更好地理解。

如何使用javascript提交表單?

如果你在details.jsp中也有diff對象,那么在普通鏈接中只應該將ID作為參數傳遞就足夠了。

<a href="details.jsp?id=<%= id %>">details</a>

您可能在PHP中也這樣做。

JQuery是客戶端JavaScript,不需要解決您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM