init"

From Documentation
m
Line 3: Line 3:
 
__TOC__
 
__TOC__
  
<source lang="xml" >
+
'''Syntax:'''
 
  <?init class="..." [''arg0''="..."] [''arg1''="..."] [''arg2''="..."] [''arg3''="..."]?>
 
  <?init class="..." [''arg0''="..."] [''arg1''="..."] [''arg2''="..."] [''arg3''="..."]?>
 
  <?init zscript="..."?>
 
  <?init zscript="..."?>
</source>
 
  
 
There are two formats. The first format is to specify a class that is used to do the application-specific initialization. The second format is to specify a <tt>zscript</tt> file to do the application-specific initialization.
 
There are two formats. The first format is to specify a class that is used to do the application-specific initialization. The second format is to specify a <tt>zscript</tt> file to do the application-specific initialization.
  
The initialization takes place before the page is evaluated and attached to a desktop. Thus, the <tt>getDesktop</tt>, <tt>getId</tt> and <tt>getTitle</tt> method will return null, when initializing. To retrieve the current desktop, you could use the <javadoc type="interface">org.zkoss.zk.ui.Execution</javadoc> interface.
+
The initialization takes place before the page is evaluated and attached to a desktop. Thus, the <tt>getDesktop</tt>, <tt>getId</tt> and <tt>getTitle</tt> method will return null, when initializing. To retrieve the current desktop, you could use <javadoc type="interface">org.zkoss.zk.ui.Execution</javadoc>.
  
 
You could specify any number of the <tt>init</tt> directive. The specified class must implement the <javadoc type="interface">org.zkoss.zk.ui.util.Initiator</javadoc> interface.
 
You could specify any number of the <tt>init</tt> directive. The specified class must implement the <javadoc type="interface">org.zkoss.zk.ui.util.Initiator</javadoc> interface.
Line 25: Line 24:
 
</source>
 
</source>
  
== class ==
+
Then, <javadoc method="doInit(org.zkoss.zk.ui.Page, java.util.Map)" type="interface">org.zkoss.zk.ui.util.Initiator</javadoc> will be called with a map, which contains an entry, whose name is <code>root</code> and value <code>./abc</code>.
  
<source lang="xml" >
+
= class =
[Optional]
+
 
</source>
+
[Optional]
  
 
A class name that must implement the <javadoc type="interface">org.zkoss.zk.ui.util.Initiator</javadoc> interface. Unlike the <tt>init</tt> directive, the class name cannot be the class that is defined in zscript codes.
 
A class name that must implement the <javadoc type="interface">org.zkoss.zk.ui.util.Initiator</javadoc> interface. Unlike the <tt>init</tt> directive, the class name cannot be the class that is defined in zscript codes.
Line 37: Line 36:
 
Thus, you could also use it for cleanup and error handling.
 
Thus, you could also use it for cleanup and error handling.
  
== zscript ==
+
= zscript =
  
<source lang="xml" >
+
[Optional]
[Optional]
 
</source>
 
  
 
A <tt>script</tt> file that will be evaluated in the Page Initial phase.
 
A <tt>script</tt> file that will be evaluated in the Page Initial phase.
  
== arg0, arg1... ==
+
= arg0, arg1... =
  
<source lang="xml" >
+
[Optional]
[Optional]
 
</source>
 
  
 
You could specify any number of arguments. It will be passed to the <tt>doInit</tt> method if the first format is used. Since 3.6.2, you can use any name for the arguments, but, in the prior version, the first argument is <tt>arg0</tt>, the second is <tt>arg1</tt> and follows.
 
You could specify any number of arguments. It will be passed to the <tt>doInit</tt> method if the first format is used. Since 3.6.2, you can use any name for the arguments, but, in the prior version, the first argument is <tt>arg0</tt>, the second is <tt>arg1</tt> and follows.

Revision as of 11:11, 18 November 2010

Syntax:

<?init class="..." [arg0="..."] [arg1="..."] [arg2="..."] [arg3="..."]?>
<?init zscript="..."?>

There are two formats. The first format is to specify a class that is used to do the application-specific initialization. The second format is to specify a zscript file to do the application-specific initialization.

The initialization takes place before the page is evaluated and attached to a desktop. Thus, the getDesktop, getId and getTitle method will return null, when initializing. To retrieve the current desktop, you could use Execution.

You could specify any number of the init directive. The specified class must implement the Initiator interface.

 <?init class="MyInit1"?>
 <?init class="MyInit2"?>

Since 3.6.2, you can use any (readable) name instead of arg0 and so on. For example,

<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" root="./abc"?>

Then, Initiator.doInit(Page, Map) will be called with a map, which contains an entry, whose name is root and value ./abc.

class

[Optional]

A class name that must implement the Initiator interface. Unlike the init directive, the class name cannot be the class that is defined in zscript codes.

An instance of the specified class is constructed and its doInit method is called in the Page Initial phase (i.e., before the page is evaluated). The doFinally method is called after the page has been evaluated. The doCatch method is called if an exception occurs during the evaluation.

Thus, you could also use it for cleanup and error handling.

zscript

[Optional]

A script file that will be evaluated in the Page Initial phase.

arg0, arg1...

[Optional]

You could specify any number of arguments. It will be passed to the doInit method if the first format is used. Since 3.6.2, you can use any name for the arguments, but, in the prior version, the first argument is arg0, the second is arg1 and follows.

Version History

Version Date Content
     



Last Update : 2010/11/18

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.