FacesContext.getCurrentInstance().getExternalContext().redirection ne redirige pas immédiatement
Un Id
est en passant comme paramètre d'Url. J'ai essayer de faire en sorte que le id
est un nombre. Si redirige pas vers la page principale
if(facilityId != null){
try{
Long.parseLong(facilityId);
}catch(NumberFormatException e){
try {
FacesContext.getCurrentInstance().getExternalContext().redirect("DisplayList.jsf");
} catch (IOException ex) {}
}
facility = documentSBean.findFacilityById(Long.parseLong(facilityId));
...
}
donc, si je passe un id comme ceci
www....?facilityId=3?sdfasfda
J'attrape que 3?sdfasfda
n'est pas un nombre, et d'obtenir la redirection déclaration, mais il ne redirige pas immédiatement, il execute les quelques lignes qui tentent de convertir 3?sdfasfda
d'un Long, d'où le rendement NumberFormatException
. Donc, il y a un moyen pour forcer la redirection de suite, ou est-il un autre moyen de résoudre ce problème. Souhaitons qu'il y a un else
après un catch
😀 :D. Les codes ci-dessus sont à l'intérieur de mon @PostConstruct init()
méthode
Vous devez vous connecter pour publier un commentaire.
Oui, il suffit de
return
de la méthode:Lorsque vous appelez
redirect(..)
la seule chose qui se passe est que un en-tête spécial (Location
) est définie dans l'objet de réponse. Mais le flux de l'invocation de la méthode continue, à moins que vousreturn
de fois que vous appelez de redirection.