[jsr-314-open-mirror] [jsr-314-open] Facelets Template Client API does not take into account tags semantic
Martin Marinschek
mmarinschek at apache.org
Mon Jul 26 23:27:05 EDT 2010
Hi Leonardo,
> Comments: The tag ui:insert inside composite:implementation should not take
> into account definitions made "outside" it.
agreed
> Comments: definitions inside ui:include referenced page should ignore what
> is outside it.
agreed
> As you can see, there are some situations where the tag semantic requires
> isolate the context where the templates are resolved. After do some test I
> identified these cases:
>
> - Composite components
> - ui:include
> - User tag handlers (facelets tags from xhtml files)
>
> The solution implemented on myfaces is use a class called TemplateContext,
> that encapsulates template operations, and use a stack to isolate the
> different context. When a new context is required a new TemplateContextImpl
> is created and pushed on the stack. When it is no longer required it is
> removed from the stack. If it is necessary to resolve the markup on the
> previous context, we temporally pop the context from the stack and the push
> it again. It passes all tests proposed.
makes sense
> I'm still thinking about how template client api should be to write a
> proposal about it, but I wanted to comment this stuff because it could be of
> interest here.
thanks for the heads up, Leonardo. @Andy: you had commented that
Facelets is inheriting down the ui:defines hierarchically, where it
should rather not... Now this seems pretty similar, but even worse: it
is also "inheriting up". We certainly need to revise this Facelets
code here.
best regards,
Martin
More information about the jsr-314-open-mirror
mailing list