творю страницу, на которой я называю метод PrettyFaces действий загрузки страницы:Двойной вызов к действию - prettyfaces - JSF
<url-mapping id="informes-perfil">
<pattern value="/informes/#{informesPerfilMB.codigo}" />
<view-id value="/faces/informes_perfil.xhtml" />
<action onPostback="false">#{informesPerfilMB.load()}</action>
</url-mapping>
По какой-то причине, informesPerfilMB.load()
действие вызывается дважды, и значение параметра во втором вызове «null» или «RES_NOT_FOUND».
Вот мой метод загрузки:
public void load() {
if (isPostBack) {
isPostBack = false;
try {
System.out.println(codigo);
informe = informeEJBServiceLocal.getByCodigo(codigo);
this.buscarInformeIngreso();
this.buscarInformeOtroIngreso();
} catch (EJBServiceException e) {
e.printStackTrace();
}
}
}
Переменная isPostBack
инициализируется false
, так что это должно предотвратить метод от вызова снова, но по какой-то причине.
Этот код сначала печатает String: dcc509a6f75849b
. Затем, когда нагрузка повторяется, она печатает это: RES_NOT_FOUND
Я надеюсь, что этот код поможет объяснить, что происходит достаточно, чтобы решить мою проблему, спасибо.
Не могли бы вы включить вашу конфигурацию? web.xml и faces-config.xml? – chkal
Кроме того, какую версию PrettyFaces вы используете? – Lincoln
Это также поможет, если вы установите точку останова (или напечатали трассировку стека) в этом методе и разместили стек, чтобы мы могли видеть, откуда вызывается метод. Это первый шаг, чтобы понять, почему метод вызывается дважды. – Lincoln