【发布时间】:2013-10-22 01:31:33
【问题描述】:
我只想在某些条件下打印结果数组。 在我的 bean 中,我有一个方法 dataIsOk() 检查条件并使用表单中的数据进行计算。 计算成本很高(大约 5 秒)。方法 dataIsOk() 被调用了几次,然后总时间很长(大约 20 秒)。
我是 JSF 的新手,我不会因为总时间较短而做什么(例如 dataIsOk() 只调用一次)。
我的 xhtml:
<p:outputPanel rendered="#{pBean.dataIsOk() eq true}">
<ui:include src="result.xhtml"/>
</p:outputPanel>
我看过@PostContruct,但我感觉在我的情况下它不会好,因为我的方法需要来自接口的数据(然后在构建bean之前无法执行)。
我的功能:
public boolean dataIsOk() {
if (profilIsOk()) {
Date dateEffet = rechercheDate();
Parametres param = rechercheParam();
FacesContext fc = FacesContext.getCurrentInstance();
EBean eBean = (EBean) fc.getViewRoot().getViewMap().get("eBean");
if (eBean !=null) {
Calcul calcul = new Calcul();
List<Tarif> tarifs = new ArrayList<Tarif>();
tarifs = calcul.calculTarif(dateEffet, param, eBean.getType());
return true;
} else return false;
}
【问题讨论】:
-
pBean的范围是什么? -
@miroslav_mijajlovic 乐谱视图
-
提供方法
dataIsOk -
JSF 保留多次调用支持 bean 的 getter 的权利。有关详细信息,请参阅链接的问题。
标签: jsf primefaces