Pro odelání požadované stránky na klienta musí JellyPot stránku nejprve sestavit – poskládat finální šablonu ze šablony stránky, uživatelských controlů, master page a pak ji zpracovat, tj. doplnit do ní obsah. Zpracování probíhá takto:
- kód uživatelských controlů je doplněn na příslušná místa v .aspx stránce a použitém masteru,
- controly
<je:region>
uvnitř master page jsou nahrazeny obsahem<je:content>
z .aspx stránky (je-li použit master), - výsledkem je tedy kompletní šablona požadované stránky; jsou zpracovány všechny controly a nahrazeny patřičným obsahem.
Důsledky
- Je-li v .aspx stránce použit master, pak vše v .aspx, co není uvnitř nějakého
<je:content>
, se zahodí. - V uživatelských controlech lze používat relativní proměnné bez explicitně uvedeného kontejneru. Kontejner se doplní z .aspx nebo masteru.
- Nelze obalovat
<je:content>
controlem<je:container>
, jelikož obsah<je:content>
je přemístěn do master page mimo<je:container>
<je:container runat="server" expect="article"> <je:content runat="server" for="main"> <!-- obsah stránky --> </je:content> </je:container>
- Naopak lze umístit
<je:container>
do<je:content>
<je:content runat="server" for="main"> <je:container runat="server" expect="article"> <!-- obsah stránky --> </je:container> </je:content>
- Taktéž control
<je:master>
je možné uzavřít do<je:container>
a v controlech<je:content>
používat relativní odkazy, jelikož<je:master>
je nahrazen obsahem master souboru a obsahy<je:content>
budou vloženy na místo příslušných<je:region>
. Celý vygenerovaný obsah bude tedy zaobalen v<je:container>
.
<%@ Page %> <je:container runat="server" expect="article"> <je:master runat="server" href="/masters/main.master" /> </je:container> <je:content runat="server" for="head"> <je:item runat="server" field=".extraHead" /> </je:content> <je:content runat="server" for="main"> <je:item runat="server" field=".title" tag="h1" /> <je:item runat="server" field=".text" /> </je:content>