我想要做的不是一个简单的链表,但设计与它非常相似,所以我问这样的问题只是为了让事情更容易解释。
我正在处理的应用程序有一个特定的域对象,可以由特定页面中的用户创建。这个新创建的实例可能有也可能没有对同一个类的另一个实例的引用。这个另一个实例将在创建第一个实例的那一刻创建,这意味着,我没有将我的创建对象与先前存在的对象相关联,而是将其链接到当前正在创建的实例上。
域类是这样的:
class MyItem {
private String name;
private MyItem next;
// getters and setters
}
用户需要一个页面,可以将名称设置为MyItem
的新实例,并最终单击按钮添加下一个项目。响应此次点击,必须在第一个实例的正下方显示一个新行,其中一个字段用于填写下一个项目的名称,另一个按钮用于最终添加第三个项目。该过程可以继续,直到我们有大量实例,所有实例都从第一个项目到最后一个项目相互连接。这就是所谓的问题链表。
当用户点击“保存”按钮时,应立即保留许多实例。
我应如何在JSF 2应用程序中处理此用例?
提前致谢!
答案 0 :(得分:0)
经过多次尝试(社区没有回答),我唯一的结论是JSF2不支持将链表作为链表处理的想法。我保持我的域设计原样(因为它是正确的)但我的托管bean必须处理从原始链表创建的数组列表。
所以,我所做的是创建一个List<MyItem>
并实现托管bean来处理一个简单的对象列表。然后,在最后一刻,就在持续所有实例之前,我在列表上运行一个项目到下一个项目,有效地创建了对象链。
当然,我必须相信中间(数组)列表中项目的顺序是实例必须链接的顺序,但是在托管bean上使用@SessionScoped
并不是问题。