|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Initiator
Implemented by an initiator that will be invoked if it is specified in the init directive.
<?init class="MyInit"?>
Once specified, an instance is created and doInit(org.zkoss.zk.ui.Page, java.util.Map
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
Method Summary | |
---|---|
void |
doInit(Page page,
java.util.Map<java.lang.String,java.lang.Object> args)
Does the initializes before the page is evaluated. |
Method Detail |
---|
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
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |