ADF页面加载与刷新

来源:互联网 发布:移动网络屏蔽网站破解 编辑:程序博客网 时间:2024/04/29 09:00

当页面第一次加载时,可以调用document的onload方法

 <af:document id="d1">//特别注意,只有放在这里onload才有用
    <af:clientListener type="load" method="onLoad"/>
                    <af:serverListener type="freshPageEvent"
                                       method="#{AcceptCtrlBean.freshPageEvent}"/>
                    <af:resource type="javascript">
                      function onLoad(evt){ var selectbox = evt.getSource();
                      AdfCustomEvent.queue(selectbox, "freshPageEvent",
                      {},true); evt.cancel(); }
                    </af:resource>

当点击页面的按钮时,常常会出现刷新,此时可能不需要动态刷新(会出现页面抖动),只需要静态,那么就需要用部分刷新

   <af:panelGroupLayout id="pgl13" inlineStyle="padding-top:5.0px;"
                                         layout="horizontal"
                                         partialTriggers="gl1 gl2 gl3 gl4 gl5 gl6 gl7 gl8 gl9 gl10">
                      <af:panelGroupLayout id="pgl16"
                                           inlineStyle="background-color:rgb(148,148,255);"
                                           binding="#{ShenbaoSearch.ymd}"
                                           rendered="false">
                        <af:outputText value="#{ShenbaoSearch.rqDesc}"id="ot12"
                                       binding="#{ShenbaoSearch.rq}"/>
                        <af:image source="/images/u222.png" id="i1"
                                  inlineStyle="width:15px;height:15px;"/>
                      </af:panelGroupLayout>
                       <af:panelGroupLayout id="pgl17"
                                           inlineStyle="background-color:rgb(148,148,255);"
                                           binding="#{ShenbaoSearch.ztm}"
                                           rendered="false">
                        <af:outputText value="#{ShenbaoSearch.ztDesc}" id="ot2"
                                      />
                        <af:image source="/images/u222.png" id="i2"
                                  inlineStyle="width:15px;height:15px;"/>
                      </af:panelGroupLayout>
                    </af:panelGroupLayout>

被刷新的部分页面最好单独放在一个容器内。例如此实例,要想更新pgl16,pgl17使之显示,最好将它们放在一个pgl13容器中。

当按钮的监听器监听到事件后,会更改rendered=true,这时只需要将按钮的id 加入到partialTriggers中就可以了。

如果,你还需要更改ot12中的value值的话。最好在JAVA代码中另外添加AdfFacesContext.getCurrentInstance().addPartialTarget(this.getZtm());代码

0 0
原创粉丝点击