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 –