1

假设我在 PageA 中,并且想要将具有两个字符串属性(名称和姓氏)的 Person 对象传递给 PageB。推荐的方法是什么?

A) 设置 2 个 PageParameters 值,每个字符串一个。B)通过页面参数传递整个人(如果可能的话。)

对不起,我在一个大学项目中,时间迫使我尽快问,所以我忘了写背景。

就是这个:

在 pageA 中,我有一个 Person 对象,假设我要在 PageB 中编辑该人,即编辑人员的页面。我已经有了对象,我不想再次查询它只是为了好玩哈哈。我正在使用 JPA,我想编辑我已经阅读的对象,然后使用实体管理器将其合并到数据库中。

4

2 回答 2

5

您应该使用哪种技术的问题无法通过将它们相互比较来回答。你不能说一个比另一个更好。就像 rotsch 说的,这取决于你的要求。例如,如果您需要保持无状态和可书签,您应该通过 POST 或 GET 以无状态方式传递参数,可能使用 PageParameters。您不能通过 PageParameters 传递复杂的对象。如果您是否无状态对您来说并不重要,因为您可能已经有一个会话,那么我建议您自己实例化您的页面并将对象传递给构造函数或您喜欢的任何方式。

兼顾两者的良好做法是通过页面参数为您的对象传递一个唯一标识符,并根据该 ID 检索您的对象及其属性。通过这种方式,您可以获得对用户不透明的 url 参数、最小的参数大小、无状态和可书签的分页以及您正在使用的数据的更高可靠性。

但就这一切对您而言无关紧要,只需将您的对象放在会话中;)

于 2012-04-11T22:47:08.003 回答
2

取决于用例。使用 PageParameters,这 2 个值通过 URL 中的 GET-Variables 发送。这样在编辑 URL 时很容易更改变量。

传递人员对象使这更安全,并允许您传递整个对象以及与之关联的所有数据。

于 2012-04-11T16:49:55.437 回答