让我们在PageA中说我想要将带有两个字符串属性(名称和姓氏)的Person对象传递给PageB。建议的方法是什么?
A)设置2个PageParameters值,每个字符串一个。 B)通过pageparameter传递整个人(如果可行的话)
对不起伙计我在大学和时间的项目中迫使我尽快问我,所以我忘了写背景。
就是这样:
在pageA中,我有一个Person对象,让我说我在PageB编辑那个人,那是编辑人员的页面。我已经有了对象我不想再次查询它只是为了好玩大声笑。我正在使用JPA,我想编辑我已阅读的对象,然后使用实体管理器将其合并到数据库。
答案 0 :(得分:5)
您应该使用哪种技术的问题无法通过相互比较来回答。你不能说比其他更好。像rotsch说,这取决于你的要求。例如,如果你需要保持无状态和Bookmarkable,你应该通过POST或GET以无状态方式传递你的参数,也许使用PageParameters。您无法通过PageParameters传递复杂的Object。如果你无论是无状态还是没有,因为你可能已经有了会话,那么我建议你自己实例化你的页面并将对象传递给构造函数或任何你喜欢的方式。
实现两者的良好做法是通过pageparameters为您的对象传递唯一标识符,并根据该Id检索您的对象及其属性。通过这种方式,您可以获得对用户不敏感的url参数,最小参数大小,无状态和可收藏的分页以及您正在使用的数据的更高可靠性。
但就所有这些对您而言无关紧要,只需将对象放入会话中;)
答案 1 :(得分:2)
取决于用例。使用PageParameters,通过URL中的GET-Variables发送2个值。这样,在编辑URL时可以轻松更改变量。
传递person对象使这更安全,并允许您传递整个对象以及与之关联的所有数据。