Am 10.10.2011 15:12, schrieb Antonio Petrelli:
Do you suggest to define an additional attribute in the specialised
definition, which holds the path to the template and then inject that
attribute to the template-attribute of the<t:insertAttribute>-Tag?
No. As I understand, you have two choices:
* defining several definitions using list.jsp as a template page, in which
the "dynamic" attribute is redefined each time (but probably this is what
you are trying to avoid, or not?);
No, I am only trying to define several versions of the template
list.jsp, which only differ in the <t:insertAttribute
template="dynamic-X.jsp">-part.
Indead, defining several definitions using list.jsp as a template is
exactly, what I am trying to do. I only don't know, how to feed in the
dynamicly "computed" picture-instance, which is only accessible in the
forEach-Loop!
* using a view preparer for the definition that computes the attribute to
put as "dynamic" attribute.
This might be the best way.
But on a quick glance at the ViewPreparer-Interface ant its two
arguments TilesRequestContext and AttributeContext, I couldn't figure
out, how I counld access the picture-instance, which lives inside the
nested scope of the forEach-Loop, from there...
But in my view, it would be a really nice feature, if it would work how I
had it expected to. It would ease the understandig of how the EL-Expressions
in definitions work and it would hugely widen the applicability of
EL-Expressions in definitions.
[..]
I think that it would be confusing the way you are interpreting use of EL in
Tiles. After all, Tiles is<jsp:include> on steroids and usually it behaves
as<jsp:include> behaves. And anyway, I doubt that it is even feasible.
However, Tiles has already a well-done scope management for attributes, in
which attributes in one included page are not visible outside (the
implementation is essentially a stack) with the exception of cascaded
attributes. Something like this is not available in EL out-of-the-box,
because it relies on the 4 standard scopes (page, request, session,
application). IIRC there is a way to create additional scopes but,
sincerely, I don't know how.
Yeah, you are right.
Meanwhile, I debugged a little more around in the <t:insertAttribute>
and I noticed the jsp:include-style there. I wasn't aware of that before...
Greetings kai