私はJSF 1.2/Seam 2.2.2アプリケーションを持っています。私はボタンがあり、ボタンをクリックすると、現在のページ内のオブジェクトに対してバリデーションを実行し、いくつかの依存オブジェクトを照会し、検証を実行します。検証に合格したら、ユーザーを新しいページにリダイレクトする必要があります。それ以外の場合は、同じページに検証エラーを表示する必要があります。以下のコードは正常に動作し、エラーメッセージが表示されます。しかし、私はどのように新しいページにリダイレクトするのですか?JSF/Seam新しいページを検証してリダイレクト
<h:messages id="errorMsg" errorClass="errorMessages" />
<a4j:commandButton action="#{myController.shouldRedirectToNewPage()}"
value="Button" styleClass="button" />
public void shouldRedirectToNewPage() {
//Run validation on objects in the current page
//Query for dependent objects and run validation
if(validationFails) {
facesContext.addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR,
"ERROR MESSAGE", null));
return;
}
}
+1 –
の点では、エラーメッセージが表示されるようにh:commandLinkまたはh:commandButtonを使用する必要があります。私はリダイレクトするためにStringアプローチを疲れました。しかし、other.xhtmlのinitメソッドは呼び出されません。 <ルールであれば、結果= "OTHER_PAGE"> <ページログイン-必要= "真" のview-id = "/ otherpage.xhtml"><ビュー-ID = "/ otherpage.xhtml" /リダイレクト>を –
user238021