我有以下面具/视图:
输入名称和说明后,我可以点击“添加现有”按钮添加现有属性列表。 这将打开另一个掩码/视图,我可以从现有属性列表中进行选择。这个(新的)蒙版/视图也有它自己的控制器和模型。
当我完成选择后,我有另一个按钮让我回到这个面具。
问题是当我回来时,名称和描述字段是空的。 发生这种情况是因为当我单击“添加现有按钮”时,不会调用此掩码的控制器/模型,并且不会存储这些值。
如何避免这种情况并存储值?
感谢您的帮助 弗朗西斯
答案 0 :(得分:1)
仅当新视图位于同一视图中时才有效。例如。当它是一个叠加对话框,由隐藏的<div>
而不是普通的window.open()
弹出窗口呈现。通过这种方式,bean可以相互访问,您可以执行ajax更新,而不是提交/刷新整个页面。
如果您不熟悉HTML / CSS / JS,这对于homegrow来说非常复杂。我建议查看一个提供RichFaces' <rich:popupPanel>
和PrimeFaces' <p:dialog>
等组件的组件库。
答案 1 :(得分:0)
您可以将数据存储在会话或会话bean中。 当用户在多个标签/窗口中工作时,会话bean方法有很大的缺点 - 他只使用一个会话bean,因此他会覆盖他在其他窗口中所做的事情。
Conversation scoped bean解决了这个问题。但是谈话范围不是在JavaEE 5中,而是在CDI中(EE6的一部分)。