Re: Nested Java directives - best practice on how to make values available to inner directive?

Attila Szegedi <[email protected]>
Newsgroups gmane.comp.web.freemarker.user
Message-ID <[email protected]>
On 2008.02.02., at 17:24, Daniel Dekany wrote:

> Saturday, February 2, 2008, 3:55:15 PM, Attila Szegedi wrote:
>
>> On 2008.01.31., at 11:16, Daniel Dekany wrote:
>>
>>> To fellow FM developers:
>>>
>>> - Given that 2.4 will not be released in the foreseeable future, and
>>> even then it will not be 100% BC, parent-children communication
>>> definitely should be backported to 2.3.x. This is again a very basic
>>> feature for a template language, shame that it isn't there for
>>> years. (Reminds me to the history of #nested...) Would backporting
>>> be difficult?
>>>
>>> - Can TemplateDirectiveModel and TempateTransformModel calls
>>> participate as parents in the current trunk? (And as children for
>>> that mater?) I don't think so... of course, they should be able to.
>>> Java and FTL are just to languages to implement custom directives.
>>
>> We should ideally make it so that the engine code doesn't deal with
>> the Macro class at all. Engine would only rely on
>> TemplateDirectiveModel, and we'd make Macro a TemplateDirectiveModel.
>> Then we'd achieve actual equality between a [#macro] and a Java-
>> defined TemplateDirectiveModel.
>
> That's highly desirable indeed, and also #function-s should be
> TemplateMethodModelEx-s (as it was noted for several times BTW).
> However, as far as I understand, it still wouldn't solve the issue
> with the parent-children communication (i.e., ?scope in FM 2.4), as
> for that the parent must have *FTL* local variables. So, we need to
> add something to the API by which a TemplateDirectiveModel, which was
> written entirely in Java Language, can create a local variable map, so
> it can be accessed by the children like
> theParentDirective?scope.theLocalVariable.

Yep, we would add whatever needs to be added to the public API.

Attila.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.