1

私は持っています:メインページとダイアログのボタン。

Aは、ダイアログを実行するマネージドBean(NewDialog.java)のViewScopeライフサイクルを持ちたいと考えています。つまり、ボタンを押しながら NewDialog Bean を再作成し、ダイアログを閉じるときに破棄します。

しかし、メインページの読み込み中に NewDialog Bean が作成されました。ボタンを押したときにのみ作成されるBeanを強制する方法は?

<ui:composition
   <h:form id="mainForm">
      <p:commandButton value="New Dialog"
                  onclick="newDialogVar.show();"/>  
   </h:form>

        <ui:include src="#{viewScopedBean.page}.xhtml" />
    </ui:define>
</ui:composition>

含まれるページ:

    <ui:composition ..
        <f:view >
       <h:form id="formId"
         <p:dialog appendToBody="false"
                  dynamic="true"
                  modal="true"
                  widgetVar="newDialogVar">

              <p:commandButton value="Ok"
                         actionListener="#{newDialog.ok}"/>
      </h:form>
    </p:dialog>
    </f:view>
</ui:composition>

豆:

@ManagedBean
@ViewScoped
public class NewDialog implements Serializable{

  @PostConstruct
    protected void postConstruct() {
        LOG.info("----------------- PostConstruct -------------------");
    }
}

私が使用するもの: Mojarra 2.1.22 を搭載した PrimeFaces 3.5

前もって感謝します!

PS : 調査によると、次のように追加します。

<context-param>
    <param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
    <param-value>false</param-value>
</context-param>

web.xml に。


公式のWindows SDKには、既知のフォルダーのコラボレーションを取得するメソッドが用意されています。

var client = new BoxClient(...);
var collabs = await client.FoldersManager.GetCollaborationsAsync(folderId);

(公式 SDK を指すように 8/29/14 に編集)

4

2 に答える 2