(sry, this has to be in dutch, hope you don't mind)

oi, twee vragen met vrij hoge urgentie:

------------------------------------------------------------------------------------------------------------------------
1)
ik heb zojuist een uitleg gehad van de nieuwe werking van het mm:include 
commando.
als ik het goed begrijp worden vanaf nu aan includes *altijd* *alle* 
parameters meegegeven die aan de pagina zijn meegestuurd. Om goed te 
begrijpen wat dat betekent hieronder een situatieschetsje

index.jsp?huis=1&boom=2&beest=3

        <mm:include page="een.jsp">
                $huis=groot
                $boom=groen
                $beest=lief

                <mm:include page="twee.jsp">
                        $huis= groot
                        $boom= groen
                        $beest= lief

                        <mm:include page="drie.jsp"><mm:param name="huis" 
value="tekleingeworden"/><mm:param name="boom" 
value="omgevallen"/><mm:param name="beest" 
value="weggelopen"/></mm:include>
                                $huis= [groot,tekleingeworden]
                                $boom= [groen,omgevallen]
                                $beest= [lief,weggelopen]


waarbij: index.jsp het bestand een.jsp include, dat op zijn beurt 
twee.jsp include, waarin weer drie.jsp wordt geinclude, ditmaal met 
expliciet meegestuurde waarden voor de variabelen.

Als ik het goed begrepen heb kun je er niet van uitgaan dat in drie.jsp 
de waarde voor 'huis' gelijk is aan 'tekleingeworden'... hoe graag je 
dat ook zou willen, je zit opgescheept met het feit dat in een andere 
context het huis nog groot was.

VRAAG 1: Waarom is dit slim?

Het gedrag van de eerste twee situaties lijkt slim. Zeker in simpele 
sites waarin drie.jsp altijd alleen maar in de context van twee.jsp in 
de context van een.jsp wordt gebruikt. Maar in www.cinema.nl/cinema2 
zitten we met een complexe site, met verschillende hierarchische 
contexten van verschillende diepte, waarin sommige included bestanden 
(sharedpart.jsp) zowel in meerdere contexten op het zelfde niveau in de 
diepte, als in meerdere contexten op verschillende dieptes worden 
gebruikt. Dit om te voorkomen dat exact gelijke stukjes code in een stuk 
of veertig jsp bestanden moeten worden nagetypt.

Het is dus erg belangrijk dat ik er in drie.jsp altijd van uit kan gaan 
dat ik de juiste contextuele waarde in m'n vingers heb, en geen 
grabbelton met waardes. Met andere woorden, als ik een waarde expliciet 
meegeef dan wil ik dat het de vorige waarde override. Gesteld dat ik de 
vorige waarde ook wil meegeven dan kan ik dat wel expliciet doen, toch? 
In dat geval gebruik ik wel een extra param huis=$huis:
                        <mm:include page="drie.jsp"><mm:param name="huis" 
value="$huis"/><mm:param name="huis" value="tekleingeworden"/><mm:param 
name="boom" value="omgevallen"/><mm:param name="beest" 
value="weggelopen"/></mm:include>
                                $huis= [groot, tekleingeworden]
                                $boom= [groen,omgevallen]
                                $beest= [lief,weggelopen]

Hierbij is het stukje code
<mm:param name="huis" value="$huis"/><mm:param name="huis" 
value="tekleingeworden"/>
ook nogal lelijk, en zou je liever
<mm:param name="huis" value="$huis","tekleingeworden"/>
willen gebruiken.

In ieder geval wil ik in het sharedpart.jsp er gewoon van uit kunnen 
gaan dat de parameter 'object' altijd, ongeacht de diepte of de breedte 
van de context, de juiste contextuele waarde heeft meegekregen.

------------------------------------------------------------------------------------------------------------------------

Tot zover m'n vraag over de logica achter de automatische mm:include 
aanvulling. Dan nog een vraag over de mogelijkheid om alle meegestuurde 
parameters impliciet te kunnen importeren.

2)
Nu zit ik nog met de regel dat ik bij het importeren van variabelen 
alles netjes moet uitschrijven:
<mm:import externid="huis"/>
<mm:import externid="boom"/>
<mm:import externid="beest">
Dat is dus drie commando's voor iets dat ik in ��n commando mee kan 
geven (referidS = bla,hup,hop)
Waarom niet zo:
<mm:import externids="huis,boom,beest"/>

En zelfs dit lijkt nogal expliciet voor iets dat ik elders al een keer 
ge-expliciteerd heb, namelijk in het referids commando. Eigenlijk wil ik 
die met ��n commando impliciet alle meegestuurde externids aanroepen. Ik 
stuur die parameters immers niet voor niks mee, daar wil ik ook wat mee 
doen.
<mm:import externids/>

VRAAG 2: Eenvoudiger kan haast niet. Kost je ook niet telkens dubbel 
werk. Kleven hier nog gevaren aan die ik over het hoofd zie?



|| | | ||| || | | ||| | | || | || ||| | | ||

robin verdegaal
[EMAIL PROTECTED]
http://www.xs4all.nl/~robinv


Reply via email to