我是網絡編程的新手,我堅持設計一個簡單的流程。在兩個JSP頁面之間傳遞參數
比方說,我有一個簡單的物體,像,
public class Object1
{
private int ID;
private String text;
{ getters and setters etc}
}
我收到了一堆從我的DAO爲List<Object1>
這些(取決於數據庫的記錄號),並將其打印在一個循環中一個頁面上,我們稱之爲jspPage1
。我有另一頁,jspPage2
,這確實與Object1.ID
東西我想是:
建立某種聯繫,例如,當用戶點擊或選擇對象時,所選對象的ID(上jspPage1
)將被髮送到jspPage2
。
我到目前爲止的想法;
與ID信息重定向,例如創建超鏈接:
<c:forEach items="${objects}" var="object1"> <tr> <td><a href="/jspPage2?id=${object1.ID}">${object1.text} </a></td> </tr> </c:forEach>
這臭壞,任何人都可以用地址欄篡改並更改ID 值。
我可以混淆選項#1上的參數信息。這似乎更安全一些,但一些有意的用戶仍然可以與創建的哈希混合使用。
- 我可以編寫一些scriptlets,如
request.setAttribute("ID", object1.ID);
,但我被告知在JSP頁面中包含代碼和邏輯是一件錯誤的事情。
所以重複我的問題; 有沒有辦法像這樣以一種更好的方式做事?
或
是我接近這個問題的方法是根本錯誤的,我應該考慮不同的設計。 (如果是這樣的,任何提示)
公開傳遞參數,但在控制器中檢查有效性。是的,我認爲這可能是最好的方法。謝謝。 – JuniorDev