public interface Initiator
<?init class="MyInit"?>
Once specified, an instance is created and doInit(org.zkoss.zk.ui.Page, java.util.Map<java.lang.String, java.lang.Object>)
is called
before the page is evaluated.
If you'd like to intercept other activity, you could implement
InitiatorExt
too.
Then, InitiatorExt.doAfterCompose(org.zkoss.zk.ui.Page, org.zkoss.zk.ui.Component[])
is called
after all components are created, and before any event is processed.
In additions, InitiatorExt.doFinally()
is called
after the page has been evaluated. If an exception occurs, InitiatorExt.doCatch(java.lang.Throwable)
is called.
A typical usage: starting a transaction in doInit, rolling back it
in InitiatorExt.doCatch(java.lang.Throwable)
and commit it in InitiatorExt.doFinally()
(if InitiatorExt.doCatch(java.lang.Throwable)
is not called).
InitiatorExt
Modifier and Type | Method and Description |
---|---|
void |
doInit(Page page,
java.util.Map<java.lang.String,java.lang.Object> args)
Does the initializes before the page is evaluated.
|
void doInit(Page page, java.util.Map<java.lang.String,java.lang.Object> args) throws java.lang.Exception
Note: when it is called, Page.getDesktop()
,
Page.getId()
and Page.getTitle()
all return null, since
the page is not initialized yet.
To get the current desktop, you have to use
Execution.getDesktop()
(from
Executions.getCurrent()
) instead.
On the other hand, you can set the page's ID, title or style in
this method (to override the declarations in the page definition)
by Page.setId(java.lang.String)
, Page.setTitle(java.lang.String)
and Page.setStyle(java.lang.String)
.
In additions, Page.getRequestPath()
and Page.getAttribute(java.lang.String, int)
are all available.
page
- the page being evaluatedargs
- a map of arguments.
Prior to 3.6.2, it is an array. To upgrade, use args.get("arg0")
instead of args[0], args.get("arg1") instead of args[1] and so on.
Of course, it is better to have a more meaningful name for
each argument.
If no argument is specified, args is an empty map (never null).java.lang.Exception
Copyright © 2005-2018 Potix Corporation. All Rights Reserved.