2
私のjsfページから「飛行機を削除したい」場合、飛行機が削除され、飛行機が正常に削除されたことをユーザーに伝える警告を表示してページにリダイレクトします。しかし、ユーザがh:inputTextに入力した値はまだそこにあり、空ではありません。入力フィールドは送信後に空になりません。
JSFページ:
<h:form>
<h:panelGrid columns="3" class="table">
<h:outputLabel value="Plane ID" />
<h:inputText value="#{listAirplaneBB.airPlaneId}"/>
<h:commandButton value="Delete"
class="btn btn-primary"
action="#{addAirplaneCtrl.deleteAirplane}" />
</h:panelGrid>
</h:form>
豆コード:
public String deleteAirplane(){
//delete the plane
return private/user?faces-redirect=true;
}
フィールドは、リダイレクト後に空いけない理由は上の任意のアイデア?
はい、** @ ViewScoped ** Beanです。 ** @ RequestScoped **に変更するか、マニュアルリセットを実装する必要がありますか?どちらを選ぶべきですか?バックエンドの部分から飛行機のリストを取得するために使用するBean- – Carlton
ページの内容がAjax処理を必要とするかどうかは、それが依存するかどうかは言うまでもありません。その場合、おそらく** ViewScoped **にとどまる必要があります。一方、あなたの投稿のそのフォームコンテンツが、そのページで期待される唯一のコンテンツであれば、** RequestScoped **に行くことになります。そのように設定するのはもっと自然なことです。希望が役立ちます。 –
ここに、その違いの詳細を少し説明した投稿へのリンクがあります - http://stackoverflow.com/questions/6025998/difference-between-view-and-request-scope-in-managed-beans –