pickListのdualListオブジェクトは、オブジェクトのロード時に空になります。Primfaces picklist dualListオブジェクトが空になる
これが使用されてdualListオブジェクトが正しく文字列
private List<String> queuesSouce = new ArrayList<>();
private List<String> queuesTarget = new ArrayList<>();
private DualListModel<String> dualListQueuesToBeAddedToTheApplication;
リスト負荷の2つのリストで構成され、私は、オブジェクトを一の側、他を管理することができる午前れるピックリスト定義
<p:pickList id="queuesPickList"
value="#{manageApplications.dualListQueuesToBeAddedToTheApplication}"
var="queueToAdd" itemLabel="#{queueToAdd}" itemValue="#{queueToAdd}">
</p:pickList>
これまではすべてがうまく見えました。ソースオブジェクトとターゲットオブジェクトは正常にロードされ、選択リストは機能します。 dualListを作成した直後に、ソースとのターゲットの内容をリストしています。両方ともそこにあります。
actionListenerを呼び出して行った変更を保存するには、下にボタンがあります。
<p:commandButton value="SAVE" id="saveQueuesButton"
actionListener="#{manageApplications.saveQueuesToTheApplication()}"
oncomplete="PF('dlgAddQueuesToApplication').hide();"
update="addQueuesToApplicationPanel">
</p:commandButton>
ここでのactionListenerは、dualListオブジェクトからの値の出力だけです。
public void saveQueuesToTheApplication() {
System.out.println(this.dualListQueuesToBeAddedToTheApplication.getTarget());
}
今両方、.TARGET()と.souce()は空です。そこには にはゼロのオブジェクトがあります。 Primefacesドキュメントを読ん
それはコンバータは、あなたと自分のタイプを扱うために必要であると述べています。私はpickListコンポーネントのネイティブオブジェクトであるプレーンなバニラリストを使用しているので、コンバータクラスを作成するのは面倒ではありませんでした。
私は間違っていますか?
よろしく、 Neliosam
したがって、フォームの中にあるダイアログで選択リストがありましたか?そして、今は対話の外側ですが、まだ形になっていますか? –
こんにちはJaquen;フォームはユニークで、テンプレートを使用してページを構築しています。 pickListは、最初はモーダルダイアログウィンドウに表示されていましたが、ダイアログウィンドウを使用すると制限があることが判明しました。私は、必要なときにのみレンダリングされるパネルの中に選択リストを置くようにコードを変更しました。 – Neliosam
ダイアログの中にフォームがなく、最後にダイアログが表示されるので、私には聞こえますか?これを行う方法です –