我的网页有一个带有简单支持 bean 的 primefaces 数据表。我使用相位监听器来记录幕后发生的事情。瞧,这个简单的页面在每次页面刷新时运行 JSF 生命周期不少于 7 次!!!到底是怎么回事?
<p:dataTable id="readers" var="reader" value="#{readerManagerBean.texts}"
rowKey="#{reader.id}" selection="#{readerBean.selectedText}"
selectionMode="multiple">
<p:column headerText="Reader Name" width="820">
<h:outputText value="#{reader.name}" />
</p:column>
</p:dataTable>
这是支持bean:
@ManagedBean
@RequestScoped
public class ReaderManagerBean {
private ArrayList<Text> texts;
private Text selectedText;
@EJB
private TextFacade t;
public Text getSelectedText() {
return selectedText;
}
public void setSelectedText(Text selectedText) {
this.selectedText = selectedText;
}
public ArrayList<Text> getTexts() {
ArrayList<Text> texts = new ArrayList<Text>();
texts.addAll(t.findAll());
return texts;
}
public void setTexts(ArrayList<Text> texts) {
this.texts = texts;
}
}