<p:ajax event =“change”>不会对运行时生成的数据起作用</p:ajax>

时间:2010-07-05 21:30:00

标签: java ajax jsf primefaces

我有这个:

<h:selectOneMenu id="facility" value="#{document.facility}">
     <f:selectItem itemLabel="A" itemValue=""/>
     <f:selectItem itemLabel="B" itemValue=""/>
     <f:selectItems value="#{document.facilities}"/>
     <p:ajax actionListener="#{document.test}" update="project" event="change"/>
</h:selectOneMenu>

document是托管bean,其方法getFacilities()返回项目列表,例如CDF。所以下拉列表就像:

A
B
C
D
F

如果我点击B,则会调用方法test()。我记录下来了。但是,如果我单击运行时生成的数据CDF,则方法test()根本不会调用。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Managed Bean的范围必须至少是ViewScoped,如果你默认离开作用域,这是RequestScoped,它将不起作用