JSFページ(MyFaces 2.0を使用しています)は、最初に表示されるデータ収集の一部です。何らかの情報が見つからない場合は、その旨のメッセージを提供し、別のページにリダイレクトされます。私はここで見つけた解決策を使用しようとしましたPreserving FacesMessage after redirect for presentation through <h:message> in JSF(setKeepMessages(true))、リダイレクト後にメッセージが表示されません。私が選ぶことができる唯一の違いは、ナビゲーションルールを使用していないことです。通常のアクションでは発生していないため、外部コンテキストでredirect()を呼び出しています。リダイレクト後のJSFメッセージの保存
関連するコード:
public void redirectToPageWithMessage(String inPage, String message, FacesMessage.Severity severity){
getFlash().setKeepMessages(true);
addMessage(message, severity);
try {
getFacesContext().getExternalContext().redirect(inPage);
} catch (IOException e) {
e.printStackTrace();
}
}
残念ながら、これは動作していないようです。リダイレクトは正常に行われますが、< messages />タグはメッセージを表示していません。 redirect()がうまくいかないために何か違うことがありますか?
結果を返さない関数の中でリダイレクトするより良い方法がありますか(redirect()を呼び出す以外)? – moneyt