0

私のJSFアプリケーションでは、アプリケーションの呼び出し段階でUIコンポーネントを更新する必要があります。それはできますか?これまでに作成したコードは次のとおりです。

    public void resetDataScroller(ActionEvent actionEvent) {

    final FacesContext ctx = FacesContext.getCurrentInstance();

    ctx.getViewRoot().invokeOnComponent(ctx, "paginator_and_table:scroll_1", new ContextCallback() {
        public void invokeContextCallback(FacesContext facesContext, UIComponent uiComponent) {

            HtmlDatascroller htmlDatascroller = (HtmlDatascroller) uiComponent;

            htmlDatascroller.setPage(1);
            htmlDatascroller.setValue(1);


        }
    });

}

このアクション リスナーは dataScroller コンポーネントを検索し、ページと値を 1 に設定します。レンダリングされた dataScroller には 1 以外のページがあるため、残念ながらまったく機能していないようです。

何か不足していますか?

4

1 に答える 1

1

あなたのページのコマンドボタン/リンクresetDataScrollerの属性によって呼び出されるメソッドだと思いますか?actionListener

何をしようとしているのかよくわかりません...このコードを書くだけですか?:

public void resetDataScroller(ActionEvent evt) {
    final FacesContext ctx = FacesContext.getCurrentInstance();
    HtmlDatascroller htmlDatascroller = (HtmlDatascroller) ctx.getViewRoot().findComponent("paginator_and_table:scroll_1");
    htmlDatascroller.setPage(1);
    htmlDatascroller.setValue(1);
}

このフェーズで HtmlDatascroller のこれらのプロパティを変更すると、最後のフェーズ (Render Responseフェーズ) で JSF によって使用され、HTML コードが生成されます...

于 2009-09-22T07:23:55.753 に答える