當對象加載時,pickList dualList對象變爲空。Primefaces picklist dualList對象變爲空
這是選擇列表定義
<p:pickList id="queuesPickList"
value="#{manageApplications.dualListQueuesToBeAddedToTheApplication}"
var="queueToAdd" itemLabel="#{queueToAdd}" itemValue="#{queueToAdd}">
</p:pickList>
正在使用由字符串的兩個List
private List<String> queuesSouce = new ArrayList<>();
private List<String> queuesTarget = new ArrayList<>();
private DualListModel<String> dualListQueuesToBeAddedToTheApplication;
列表加載正確組成,我能夠管理對象的一個側面另一個dualList對象。
直到這部分一切看起來不錯。源對象和目標對象加載成功,並且選擇列表功能正常。在創建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());
}
閱讀Primefaces文檔它說,該轉換器需要對付你自己的類型。由於我使用普通香草列表,這是PickList組件的本地對象,我沒有打算構建轉換器類。
我在做什麼錯?
最好的問候, Neliosam
所以,你有在表單內的對話框中的選擇列表?現在它在對話之外,但仍然在形式? –
嗨Jaquen;該表單是唯一的,我使用模板來構建頁面。 pickList最初是設計在模態對話框窗口中的,我發現使用對話窗口有你的限制。我已經更改了代碼,將選擇列表放在只在需要時才呈現的面板中。 – Neliosam
這聽起來對你來說沒有對話框中的表單,並且對話框的最後一頁是?那怎麼辦 –