我在selectOneMenu上有一个小应用程序需要更新支持bean中的选定值。简单的事情。我使用了Primefaces 4,代码如下:
<p:selectOneMenu id="customersMenu"
value="#{customerController.selectedCustomer}" style="float:right"
converter="#{customerConverter}">
<p:ajax event="change" update="@this, :tabview" />
<f:selectItem itemLabel=" Kunde auswählen" itemValue="" />
<f:selectItems value="#{customerController.customers}"
var="customer" itemLabel="#{customer.name}" itemValue="#{customer}" />
</p:selectOneMenu>
随着更新的ajax更新,支持bean会正确更新,并且tabview也会正确更新。 现在我用primefaces5.jar替换了primefaces4.jar,这不再适用了。在Bugzilla中使用FireBug进行检查时,我可以看到一个不祥的错误:'TypeError:PrimeFaces.Expressions is undefined'。任何人都有这个吗?
我玩了设置,发现ajax更新中的'@this'似乎导致错误。我检查了迁移指南,应该工作 - 不应该吗?
无论如何,我成功删除了'@this'并在我的selectonemenu中添加'onchange =“submit();''。 bean现在已更新。我不明白为什么,谁能告诉我?