我只想在某些条件下打印结果数组。 在我的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得分视图 – Fabaud
提供方法'dataIsOk' –