我是网络编程的新手,我坚持设计一个简单的流程。
假设我有一个简单的对象,例如,
public class Object1
{
private int ID;
private String text;
{ getters and setters etc}
}
我从我的 DAO 中得到一堆(取决于 DB 中的记录号)List<Object1>
,并在页面上循环打印它们,让我们调用它jspPage1
。我还有另一个页面,jspPage2
它与Object1.ID
我想要的是:
创建某种连接,这样,当用户单击或选择一个对象时,所选对象的 ID (on 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 的参数信息。这似乎更安全一些,但一些任性的用户仍然可以与创建的哈希混合。
- 我可以编写一些类似的 scriptlet,
request.setAttribute("ID", object1.ID);
但有人告诉我,在 JSP 页面中包含代码和逻辑是错误的做法。
所以重复我的问题;有没有办法以更整洁的方式做这样的事情?
或者
我解决这个问题的方法是根本错误的,我应该考虑不同的设计。(如果有任何提示)