【问题标题】:How to clear p:pickList target list on close of p:dialog如何在 p:dialog 关闭时清除 p:pickList 目标列表
【发布时间】:2013-03-01 08:56:42
【问题描述】:

我在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 在会话范围内,我想将它保留在会话范围内。

【问题讨论】:

  • 您要么想将选项列表的 value 属性绑定到其他东西,以便可以在不干扰会话的情况下清除它,或者清除在会话范围 bean 中找到的列表,以便值将是更新。此外,您需要在 &lt;p:ajax&gt; 标记中添加一个侦听器,以使其在关闭时正常工作。
  • 如果您在问题中添加功能要求和一般设置(会话中的内容、选择列表中的内容等),那也很棒。
  • 您的具体问题是什么?在相应地实施要求时,您究竟停留在哪一步?您知道通过&lt;p:ajax listener&gt; 调用bean 方法的可能性吗?

标签: jsf-2 primefaces


【解决方案1】:

@PostConstruct 方法上再次绑定你的目标列表;

contacts.setTarget(new ArrayList<String>());

祝你好运!

【讨论】:

  • 你的回答很模糊。要么发表评论,要么扩展你的解释。
  • 我的回答有什么含糊之处?我认为这很清楚。在postconstruct方法中,需要使用picklist的targetlist setter方法绑定targetList。
  • OP 明确指出“在关闭对话框时我想清除选择列表”。它与 bean 实例化有什么关系?还要记住,“bean 在会话范围”,并且它已经被实例化了。必须做的是在对话框中附加一个关闭的侦听器,例如&lt;p:ajax event="close" listener="#{bean.dialogClosed}"&gt;,通过调用您建议的方法,使用清除OP想要的数据的适当方法。
猜你喜欢
  • 2012-04-30
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-07
  • 1970-01-01
相关资源
最近更新 更多