Um festzustellen, ob das Berechnen eines Elementes von einem Full Refresh oder einem Partial Refresh ausgelöst wird, kann die Klasse com.ibm.xsp.ajax.AjaxUtil verwendet werden. Die Klasse stellt die Methode isAjaxPartialRefresh() bereit, die das nötige Ergebnis zurückliefert.
Hier eine Beispiel-XPage, die die Verwendung demonstriert:
<?xml version="1.0" encoding="UTF-8"?> <xp:view xmlns:xp="http://www.ibm.com/xsp/core"> <xp:label id="lblRefreshMe"> <xp:this.value><![CDATA[#{javascript: var ajax = new com.ibm.xsp.ajax.AjaxUtil(); if( ajax.isAjaxPartialRefresh(facesContext) == true) return "AJAX" ; return "NOT AJAX!"}]]> </xp:this.value> </xp:label> <xp:br></xp:br> <xp:br></xp:br> <xp:button value="Do Full Refresh" id="buttonFullRefresh"> <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> </xp:eventHandler> </xp:button> <xp:br></xp:br> <xp:button value="Do Partial Refresh" id="buttonPartialRefresh"> <xp:eventHandler event="onclick" submit="true" refreshMode="partial" refreshId="lblRefreshMe"> </xp:eventHandler> </xp:button> </xp:view>
Hier ein Screenshot der XPage beim Aufruf der XPage.
Durch Klick auf die Buttons läßt sich die Art des Refreshs bestimmen. Wird ein Partial Refresh durchgeführt, ändert sich das Label wie folgt:
Hier als XSnippet
Great articles keep up the good work.
And thanks for helping me with my questions.