Funktionerna är tillgängliga via en Java-klass som registreras som namespace i XSLT-transformationen. Standardtransformationen som används vid skapande av en ny proxymodul gör detta automatiskt, och gör namespacet "proxy" tillgängligt. Nedan redovisas vilka funktioner som finns att använda.
Denna funktion tar den angivna länken, som kan vara relativ, och skriver om den i enlighet med de uppsatta reglerna för länkomskrivning. Resultatet är alltid en absolut länk oavsett om den anses vara intern eller inte.
Om länken är till en sida utanför länkomfånget används URL'en till den sida som gav upphov till HTML'en i nuvarande anrop för att göra den absolut. Om HTML'en exempelvis laddas från "http://www.somecompany.com/foo/index.html" och länken är "aboutus.html" blir alltså den resulterande länken "http://www.somecompany.com/foo/aboutus.html".
Om länken är till en sida i det angivna länkomfånget registreras den internt i proxyn och istället returneras en länk som pekar på proxymodulen. Dessa länkar startar alltid med "/sitevision/proxy". När klienten följer dessa länkar kommer proxymodulen att slå upp den registrerade länken och hämta den HTML som finns där.
Denna funktion fungerar på samma sätt som ovanstående, men öppnar angiven länk i "solo"-läge om parametern solo är satt till "true", dvs endast proxymodulen utan omgivande sida visas. Detta är framförallt användbart om länken ska öppnas i nytt fönster, där man inte vill ha med navigationen och övrigt på sidan som proxymodulen finns på.
Den genererade länken kommer att innehålla resursens sökväg som sista del. Detta gör det möjligt att manuellt lägga till extra sökvägsdelar eller parametrar:
<script>
link = '<xsl:value-of select="proxy:link($proxy,'http://somehost/someresource.html', true())"/>';
</script>
<a href=""
onclick="javascript:window.open(link+'?someparam=somevalue');return false">Generated link</a>
Gör länkomskrivning i JavaScript. Framförallt anrop till JavaScript-funktionen "open" görs om så att länken som skickas in följer de länkomskrivningsregler som är uppsatta.
Gör länkomskrivning i map-parametrar i JavaScript. Framförallt används detta för Ajax-bibliotek som t.ex. jQuery.
<xsl:template match="//script/text()">
<xsl:value-of select="proxy:rewriteScriptMap($proxy, 'url', .)"/>
</xsl:template>
i följande javascript:
$.ajax({
type: "GET",
url: '/Test.jsp',
dataType: "html",
success: function (data) {
doSomething(data);
}
});
Gör länkomskrivning i funktionsparametrar i JavaScript. Framförallt används detta för Ajax-bibliotek som t.ex. Prototype.
<xsl:template match="//script/text()">
<xsl:value-of select="proxy:rewriteScriptParameter($proxy, 'Ajax.Request', .)"/>
</xsl:template>
i följande javascript:
new Ajax.Request('/some_url')
Returnera startadressen för proxymodulen.
Returnera nuvarande URL som processas.
<base href="{proxy:base($proxy)}"/>
URL'en kan användas för att avgöra om en viss regel ska köras:
<xsl:template match="html[contains(proxy:url($proxy),'somehost')]">
Showing content from "somehost":<br/>
<xsl:apply-templates select="body"/>
</xsl:template>
Returnera proxymodulens bredd.
Returnera proxymodulens höjd.
Sätt vilken portlet som ska ta emot anropet för efterkommande länkar. Detta kan användas för att från en proxymodul ange en annan proxymodul på samma sida.
Det är antingen namnet på proxymodulen eller dess id som ska anges. Enklast är oftast att ange namnet på modulen såsom det är angivet i sidans innehåll.
Gör om en relativ URL till en absolut URL med hjälp av URL'en till sidan som just nu processas.
Utför en HTTP GET på angiven URL. Om URL'en är relativ kommer den först att göras absolut genom anropet resolve(url), som beskrivits ovan. Metoden returnerar en DOM som motsvarar det dokument som URL'en pekar på. Denna kan sedan användas för vidare bearbetning.
Utför en HTTP POST mot en angiven URL. Om URL'en är relativ kommer den först att göras absolut genom anropet resolve(url), som beskrivits ovan. Eventuella parametrar till sidan som proxyn finns på kommer att skickas med som parametrar i postningen. Metoden returnerar en DOM som motsvarar det dokument som URL'en pekar på. Denna kan sedan användas för vidare bearbetning.
Utför en HTTP POST genom att skicka det formulär som finns i angiven DOM. Alla input-fält som finns i formuläret kommer att sättas som parametrar i anropet. Metoden returnerar en DOM som motsvarar det dokument som URL'en pekar på. Denna kan sedan användas för vidare bearbetning.
<xsl:template match="/">
<xsl:apply-templates select="proxy:post($proxy, $form)"/>
</xsl:template>
Returnera parameter från anropet till sidan där proxymodulen finns.
Returnera attribut från anropet till sidan där proxymodulen finns.
Returnera sparad parameter för nuvarande resurs som bearbetas.
Returnera sparad parameter för resurs med angiven URI.
Ta bort sparade parametrar för angiven URI.
Ta bort inloggningsinformation. Detta gör att efterföljande anrop kommer skapa ny session mot underliggande applikation, vilket normalt sett leder till att användaren måste logga in igen.
Last updated: