Jsf 2 如何在p:对话框关闭时清除p:选取列表目标列表
我在Jsf 2 如何在p:对话框关闭时清除p:选取列表目标列表,jsf-2,primefaces,Jsf 2,Primefaces,我在p:dialog中有一个p:pickList <p:dialog id="registerDialog" widgetVar="registerServiceDlg" modal="true" minimizable="false" draggable="false" position="300,40" style="background:#E0E0E0;" closable="true" maximizable="false" resizable="f
p:dialog
中有一个p:pickList
<p:dialog id="registerDialog" widgetVar="registerServiceDlg" modal="true"
minimizable="false" draggable="false" position="300,40"
style="background:#E0E0E0;" closable="true" maximizable="false"
resizable="false" visible="#{not empty facesContext.maximumSeverity}">
<p:ajax event="close" update="registerDialog" />
<h:outputLabel value="User" styleClass="label"/>
<p:pickList id="contactBean" value="#{contactBean.contacts}" var="contact"
itemLabel="#{contact}" itemValue="#{contact}" style="margin-left:20px;"
required="true" requiredMessage="one user is needed"/>
</p:dialog>
对话框关闭时,我想清除
p:pickList
目标列表。我怎样才能做到这一点?bean在会话范围内,我希望将其保留在会话范围内。在@PostConstruct
方法上再次绑定目标列表
contacts.setTarget(new ArrayList<String>());
contacts.setTarget(新的ArrayList());
祝你好运 您可以将picklist的value属性绑定到其他对象,以便在不干扰会话的情况下清除它,也可以清除会话范围bean中的列表,以便更新这些值。此外,您的
标签中需要一个监听器,以使其在关闭时完成其工作。如果您在问题中添加了功能要求和一般设置(会话中是什么,选择列表中是什么,等等),这也会很好。您的具体问题是什么?在相应地实现需求的过程中,您到底在哪一步步履蹒跚?您知道通过
调用bean方法的可能性吗?您的答案很模糊。要么发表评论,要么扩大你的解释。我的回答中有什么含糊不清的地方?我想这很清楚。在postconstruct方法中,需要使用picklist的targetList setter方法绑定targetList。OP明确说明“关闭对话框时,我要清除picklist”。它与bean实例化有什么关系?还要记住,“bean在会话范围内”,并且它已经被实例化了。必须做的是,通过调用您建议的方法,将一个密切的侦听器附加到对话框中,如
,并使用适当的方法清除OP想要的数据。