2

我有这个:

<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()返回项目列表的方法,比如说C, D, F。所以下拉列表就像:

A
B
C
D
F

如果我单击B,则该方法test()将被调用。我记录下来。但是,如果我点击运行时生成的数据C, D, F,则该方法test()根本没有调用。我怎样才能解决这个问题?

4

1 回答 1

1

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

于 2010-07-12T16:04:16.560 回答