One way is using the internal API, which is not recommended. I don't know
whether there is a better one.
@Inject
private ComponentResources componentResources;
public String getZone() {
InternalComponentResourcesImpl containerResources =
(InternalComponentResourcesImpl)componentResources.getContainerResources();
String zone= (String)containerResources.getBinding("zone").get();
return zone;
}
DH
http://www.gaonline.com.cn
- Original Message -
From: "Alfie Kirkpatrick"
To: "Tapestry users"
Sent: Thursday, July 02, 2009 4:08 PM
Subject: Accessing parameter of container from mixin
Hi, I am writing a mixin that can be used with submit, actionlink,
linksubmit and other things that support a zone parameter.
I need to know the zone name from the container. I can add a zone
parameter to my mixin but it's 'namespaced', ie. doesn't pick up the
zone parameter of the container.
I would like to write a defaultZone method but cannot see an obvious way
to get the parameter from the container. I am injecting the container
fine but the zone field is private with annotation rather than exposed
with a getter.
The workaround is to duplicate the attribute, eg:
...
This works fine but is not quite as elegant as I'd like!
Any ideas?
Thanks, Alfie.