On Thu, 22 Oct 2015 06:48:34 -0200, g kuczera <gkucz...@gmail.com> wrote:
Hi Guys,
Hi!
I have a custom layout named LayoutM (java class and tml). It is used by
my
page - Activities - like that:
<t:layoutM title="${message:site.title} - ${message:page.title}"
bodyClass="dashboard"
xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd"
xmlns:p="tapestry:parameter">
<!--a lot of stuff -->
</t:layoutM>
And it implements some kind of interface (class LayoutM implements
CustomInterface).
Is there a way to pass LayoutM java class object,+
to Activities page?
Yes. The recommended way of passing information (objects) around is
through parameters. When this isn't possible, such as in your case, you
can use the Environment service. Examples in
http://tapestry.apache.org/environmental-services.html
https://tawus.wordpress.com/2011/04/25/tapestry-magic-6-environment/
Is something like that correct (if I put it below "a lot of stuff" line)?
<p:fieldName value=${this}></p:fieldName>
No, this isn't correct in two different ways: there's no way to reference
this in the prop binding (the default one) and, in addition, you shouldn't
use ${} expansions in parameters. It's always either useless or a bug.
What I can see right now is the "this" being an instance of Activities
class. How can I get the parent layout's object?
@InjectContainer
private Object parentObject; // actually, the field can be of any type you
want.
But you should try to avoid this, because it couples too much the
component and its parent. Use the Environment instead.
--
Thiago H. de Paula Figueiredo
Tapestry, Java and Hibernate consultant and developer
http://machina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org