سؤال

في تطبيق JSF الخاص بي، أحتاج إلى تحديث مكون UI أثناء مرحلة تطبيق Invoke. ويمكن أن يتم ذلك؟ إليك الرمز الذي أنتجته حتى الآن:

    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.

هل فاتني شيء؟

هل كانت مفيدة؟

المحلول

أتصور أن الخاص بك 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);
}

إذا قمت بتغيير هذه الخصائص من htmldatascrolleer خلال هذه المرحلة، فسيتم استخدامها بواسطة JSF خلال المرحلة الأخيرة ( Render Response المرحلة) لتوليد رمز HTML الخاص بك ...

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top