BeanにpreRenderビューイベントがあり、ユーザーに対して検証を行います。何らかの条件が発生すると、prettyFacesを使用してユーザーをログインページにリダイレクトしますが、リダイレクトが機能しないようです。理由はわかりませんが、コードは次のとおりです。
JSF:
<f:event type="preRenderView" listener="#{myBean.preRender}" />
マネージドBean:
public String preRender() {
log.debug("preRender myPage for user " + userId);
try {
User user = userService.getUserById(userId);
if (!user.isSomeCondition()) {
log.debug("Bad Condition");
return "pretty:login";
}
} catch (Exception e) {
log.error("Error in preRender myPage for user "
+ userId);
return "pretty:login";
}
return null;
}