我想要做的不是一个简单的链表,但是它的设计非常相似,所以我问这样的问题只是为了使事情更容易解释。
我正在处理的应用程序具有可由用户在特定页面中创建的特定域对象。这个新创建的实例可能引用相同类的另一个实例,也可能没有。这样的另一个实例将在创建第一个实例的那一刻创建,这意味着,我没有将我的创建中对象链接到先前的现有实例,而是链接到了正在创建的那个实例。 。
域类是这样的:
class MyItem {
private String name;
private MyItem next;
// getters and setters
}
用户想要一个页面,在该页面上可以为新实例设置名称,MyItem
并最终单击按钮添加下一项。为了响应此单击,必须在第一个实例的正下方显示一个新行,并用一个字段填充下一个项目的名称,并用另一个按钮最终添加第三个项目。该过程可以继续进行,直到我们拥有大量实例为止,这些实例从第一项到最后一项都相互连接。这就是问题的所谓链表。
当用户单击“保存”按钮时,应立即保留许多实例。
我应该如何在JSF 2应用程序中处理此用例?
提前致谢!
经过多次尝试(社区没有答案),我唯一的结论是JSF2不支持将链接列表作为链接列表处理的想法。我按原样保留了域设计(因为它是正确的),但是我的托管bean必须处理从原始链接列表创建的数组列表。
因此,我要做的是创建一个List<MyItem>
并实现托管Bean以在简单的对象列表上工作。然后,在最后一刻,在持久存储所有实例之前,我遍历了将一个项目链接到下一个项目的列表,从而有效地创建了对象链。
当然,我必须相信,中介(数组)列表中项目的顺序是实例必须链接的顺序,但是@SessionScoped
在托管bean上使用这不是问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句