私はliferayとjsfを使用しています。私のポートレットでは、ページを送信した後、バッキングBeanに新しい値を設定してリセットしようとしました。空白のフィールドが表示されましたが、ページを更新すると、以前に送信した古い値が再度取得され、古い値で再度送信されます。
新しい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();
}
PS送信後、このメソッドをreset(null);として呼び出します。