Package org.zkoss.zk.ui.impl

## Class ZScriptInitiator

- java.lang.Object
- - org.zkoss.zk.ui.impl.ZScriptInitiator

- All Implemented Interfaces:
    `Initiator`

      public class ZScriptInitiator
      extends java.lang.Object
      implements Initiator

  An initiator used to evaluate a zscript file. Used internally by `Parser` to evaluate the init directive with zscript:
  `<?init zscript="xxx"?>`
  Author:
    tomyeh

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ZScriptInitiator​(ZScript script)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `doInit​(Page page, java.util.Map<java.lang.String,​java.lang.Object> args)` | Does the initializes before the page is evaluated.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ZScriptInitiator

          public ZScriptInitiator​(ZScript script)

  - ### Method Detail

    - #### doInit

          public void doInit​(Page page,
                             java.util.Map<java.lang.String,​java.lang.Object> args)
                      throws java.lang.Exception

      Description copied from interface: `Initiator`
      Does the initializes before the page is evaluated.

      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.

      Specified by:
        `doInit` in interface `Initiator`
      Parameters:
        `page` - the page being evaluated
        `args` - 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).
      Throws:
        `java.lang.Exception`