我正在使用liferay和jsf。在我的portlet中,我通過將新值設置爲backing bean來提交頁面後嘗試重置。我有空白的字段,但是當我刷新頁面時,我再次獲得了我之前提交的舊值,並以舊值再次提交。如何在jsf中重置?
我試圖得到新的viewroot,但它也給了我相同的結果。
public void reset(AjaxBehaviorEvent event){
FacesContext context = FacesContext.getCurrentInstance();
Application application = context.getApplication();
ViewHandler viewHandler = application.getViewHandler();
UIViewRoot viewRoot = viewHandler.createView(context, context
.getViewRoot().getViewId());
context.setViewRoot(viewRoot);
context.renderResponse(); //Optional
this.MyBean = new MyBean();
}
P.S.提交後,我把這個方法稱爲reset(null);
bean的範圍是什麼? –
如果您的範圍是viewScope,則必須在刷新頁面上重置視圖。請檢查瀏覽器自動填入是否發生。並請重新檢查您的管理bean範圍。 – Jitesh
@Kush Sahu:你在使用哪種框架? –