Jsf p:SelectOne菜单中未触发任何更改事件

Jsf p:SelectOne菜单中未触发任何更改事件,jsf,primefaces,Jsf,Primefaces,在使用PrimeFaces 6.2的web应用程序中,我正在努力解决以下问题—是的,我已经阅读并研究了 场景: 我有一个selectOneMenu,它从bean获取selectItems: ​ 如果bean中的getKonfigurationen()像这样计算值,则如果用户选择一个项并调用konfigChange(),则会触发一个更改事件: ArrayList konfigurationen = new ArrayList<SelectItem>(); SelectItemGro

在使用PrimeFaces 6.2的web应用程序中,我正在努力解决以下问题—是的,我已经阅读并研究了

场景: 我有一个selectOneMenu,它从bean获取selectItems:

如果bean中的getKonfigurationen()像这样计算值,则如果用户选择一个项并调用konfigChange(),则会触发一个更改事件:

ArrayList konfigurationen = new ArrayList<SelectItem>();
SelectItemGroup g1 = new SelectItemGroup("<Auswertungsbasis>");
g1.setSelectItems(new SelectItem[]{ new SelectItem("id Denver", "Denver" ),  new SelectItem("id San Francisco", "San Francisco" )  });
konfigurationen.add(g1);
konfigurationen.add(0, new SelectItem("id new York", "New York" ));
return konfigurationen;
ArrayList konfigurationen=new ArrayList();
SelectItemGroup g1=新建SelectItemGroup(“”);
g1.setSelectItems(new SelectItem[]{new SelectItem(“id Denver”、“Denver”)、new SelectItem(“id San Francisco”、“San Francisco”)});
孔配置en.添加(g1);
konfigurationen.add(0,新选择项(“id纽约”,“纽约”));
返回konfigurationen;
这很好,但不幸的是,我需要在selectItemGroup中动态创建selectItems,因为这些值是由数据库提供的。在下面的代码段中,第三行返回selectItem数组,并将其添加到SelectItemGroup g1。该数组仅包含selectItem对象(包含字符串),不包含空项

ArrayList konfigurationen = new ArrayList<SelectItem>();
SelectItemGroup g1 = new SelectItemGroup("<Auswertungsbasis>");
g1.setSelectItems( al.toArray(new SelectItem[al.size()]) );
konfigurationen.add(g1);
konfigurationen.add(0, new SelectItem("id new York", "New York" ));
return konfigurationen;
ArrayList konfigurationen=new ArrayList();
SelectItemGroup g1=新建SelectItemGroup(“”);
g1.设置SelectItems(全部为数组(新的SelectItem[al.size()]));
孔配置en.添加(g1);
konfigurationen.add(0,新选择项(“id纽约”,“纽约”));
返回konfigurationen;
问题:
如果用户现在选择了一个项目,则会触发更改事件,并调用konfigChange()。没有提出任何例外。在调试器中,两个数组的外观相同。我没有主意了,谢谢你的帮助

在Stackoverflow中创建[mcve]是一个很好的做法。我认为你遇到的问题与#4英寸有关。但我只能确定当你展示了[mcve]时。请务必在其中包含范围注释。

在Stackoverflow中创建[mcve]是一个很好的做法。我认为你遇到的问题与#4英寸有关。但我只能确定当你展示了[mcve]时。请务必在其中包含范围注释。

您好,在Stackoverflow中创建范围注释是一种很好的做法。我认为你遇到的问题与#4英寸有关。但我只能确定,当你表现出。请务必在其中包含范围注释。您好,在Stackoverflow中创建一个。我认为你遇到的问题与#4英寸有关。但我只能确定,当你表现出。请在其中包含范围注释。非常感谢,您的提示让我找到了解决方案:迭代组件的值已经更改,这就是问题所在。对于未来,我将尝试使用mcves:)非常感谢,您的提示引导我找到了解决方案:迭代组件的值已经改变,这就是问题所在。对于未来,我将尝试使用mcves:)