18 Ocak 2013 Cuma


PRIMEFACES FARKLI BİR VİEWA AJAXCALL YAPMAK

Primefacesda aynı view içinde ajax cagıracaksanız bunu dokumantasyondada yer alan asagıda sekilde yapabiliyorsunuz



    <h:panelGrid columns="2">
                        <p:commandButton value="PrimeFaces" actionListener="#{showcaseView.add}" update="txt txts" process="@form"/>
                        <h:commandButton value="JSF Impl" actionListener="#{showcaseView.add}">
                            <f:ajax render="txt txts" execute="@form"/>
                        </h:commandButton>
                    </h:panelGrid>

                    <p:dataList id="txts" var="text" value="#{showcaseView.texts}" type="inset">
                        <f:facet name="header">Values</f:facet>
                        #{text}
                    </p:dataList>




public void add() {
        texts.add(text);
        text = null;
    }





Yukarısı  Ayni viewda  ajax call yapmanın yontemidir . 

Fakat Aynı viewda aynı işlemi yapmak için su sekilde bir işlem yapmamız gerekmekte.Diğer viewin  içindeki form un idsi su sekilde verilmelidr

         

      <p:commandButton value="Ekle"
                    action="#{AddBean.add}"
                    update=":formB:txts" process="@all" />

hedef ise su sekilde olmalıdır


    <h:form id="formB">
                    <p:dataList id="txts" var="userShortInfo"  ....

beanda calısan metodda ise donus degeri hedefin içindeki bulundugu view olmalıdır

public String tiklaKonusYapanKullanicilar() {
        onlineTiklaKOnus= userService.getTiklaKonusYapanKullanicilar();    
        return "pm:digerViewinIdsi";
    }   





java.lang.ArrayIndexOutOfBoundsException: 1
 org.primefaces.mobile.util.MobileUtils.buildNavigation(MobileUtils.java:33) Hatası 



<f:facet name="left"><p:button value="Back" icon="back" href="#"/></f:facet>


seklinde bir hata yapmanızdan kaynaklaniyor  href in içi bos olmamassi gerekiyor oldugu viewin yada sayfanin adresini verebilirsiniz

Hiç yorum yok:

Yorum Gönder