generateLicense という Bean メソッドを呼び出す jsf ボタンがあります。この Bean メソッドは、次のように、リダイレクトを実行するための文字列を返します
"/licenseGenerated.xhtml?faces-redirect=true"
このメソッドは、ユーザーの入力に基づいていくつかのバックエンド呼び出しを行うことになっています。これは、エラー処理を追加する必要があることを意味します。これが私が必要とする動作です。
ユーザーはアプリケーションにアクセスし、main.xhtml ページにいます。ユーザーは値を入力してボタンをクリックします。手順全体が正しく機能する場合、ユーザーは /licenseGenerated.xhtml ページにリダイレクトされます。それ以外の場合、エラーが発生した場合に備えて、リダイレクトは必要ありません。必要なのは、main.xhtml ページにエラー メッセージを含む jsf コンポーネントをレンダリングすることです。
では、エラーが発生した場合、generateLicense メソッドは何を返す必要があり、ボタンの jsf コードはどのようになるでしょうか?
助けてくれてありがとう!
-編集-
エラーは、Bean のメソッドの実行中に検出されます。これは、レスト サービスからの応答に基づいています。簡単に言うと、このサービスから得られる結果は 2 つあります。リダイレクトが必要な場合は 200 (OK)、ユーザーの入力が間違っている場合は 400 (NOT FOUND)。したがって、Java メソッドは次のようになります。
public String generateLicenseFile(){
String response = "";
... // all the back-end computations
if(response == "200"){
return "/licenseGenerated.xhtml?faces-redirect=true";
}else{
//ERROR HANDLING.
}
}
これはボタンの現在のコードです。
<h:commandButton value="Generate License File" action="#{agreement.generateLicenseFile}" />