ADF页面加载与刷新

当页面第一次加载时,可以调用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());代码

你可能感兴趣的:(ADF)