当对象加载时,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
这听起来对你来说没有对话框中的表单,并且对话框的最后一页是?那怎么办 –