ZK User Interface Markup Language"

From Documentation
m
Line 19: Line 19:
 
After reading this chapter, you should be able to write your own ZUML pages easily.
 
After reading this chapter, you should be able to write your own ZUML pages easily.
  
* See Also
 
** [[iZUML]]
 
  
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML_Format XML]==
+
{{ZKDevelopersGuideHeadingToc}}
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML/Elements_Must_Be_Well-formed Elements Must Be Well-formed]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML/Special_Character_Must_Be_Replaced Special Character Must Be Replaced]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML/Attribute_Values_Must_Be_Specified_and_Quoted Attribute Values Must Be Specified and Quoted]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML/Comments Comment by <nowiki><-- --></nowiki>]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/XML/Character_Encoding Character Encoding]
 
  
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript zscript]==
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript/Write_Java_code_in_ZUML Write Java code in ZUML]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript/Hints_to_read_zscript Hints to read zscript ]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript//Distinguish_zscript_from_EL Distinguish zscript from EL ]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript/Java_Interpreter_.28BeanShell.29 Java Interpreter (BeanShell) ]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/zscript/zscript_other_than_Java  zscript other than Java ]
 
 
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects Implicit Objects]==
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects#Overview Overview]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects#List_of_Implicit_Objects List of Implicit Objects]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects#Information_about_Request_and_Execution Information about Request and Execution]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects#Life_cycle_of_page.2C_execution.2C_desktop.2C_session.2C_application Lifecycle of page, execution, desktop, session, application]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Implicit_Objects#About_xxxScope About xxxScope]
 
 
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29 Expression Language (EL)]==
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#Overview Overview]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#Access_Java_Bean Access Java Bean]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#Access_ZUML_Component Access ZUML Component]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#Access_Implicit_Object Access Implicit Object]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#More_EL_Examples More EL Examples]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Expression_Language_%28EL%29#Import_Java_Methods Import Java Method's]
 
 
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Processing_Instructions ZK Processing Instructions]==
 
 
Directives to control whole page behavior
 
 
{| border="1"
 
! <center>Processing Instruction Name</center>
 
! <center>Description</center>
 
|-
 
|  [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Processing_Instructions#The_page_Directive <tt>page</tt>]
 
| Describes attributes of a page
 
|-
 
|  [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Processing_Instructions#The_component_Directive <tt>component</tt>]
 
| Defines a new component for a particular page
 
|}
 
 
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_AttributesZK Attributes]==
 
 
Act on component, such like conditional evaluation, iteration, load on demand.
 
 
{| border="1"
 
! <center>Attribute Name</center>
 
! <center>Description</center>
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Attributes#The_if_Attribute<tt>if</tt>]
 
| Conditional evaluation of an component
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Attributes#The_forEach_Attribute<tt>forEach</tt>, <tt>each</tt>]
 
| Iterative evaluate component against a collection
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Attributes#The_use.2C_apply_Attribute<tt>use</tt>, <tt>apply</tt>]
 
 
| Write event handling code in pure java file. <tt>apply</tt> support MVC pattern better.
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Attributes#The_forward_Attribute<tt>forward</tt>]
 
 
| Let centralized controller handle events.
 
|}
 
 
==[http://books.zkoss.org/index.php?title=ZK_Developer's_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements ZK Elements]==
 
 
Helper component that's not UI. It helps to save variable, write java code in ZUML, and others.
 
 
{| border="1"
 
! <center>Element Name</center>
 
! <center>Description</center>
 
|-
 
|  [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements#The_zk_Element<tt>zk</tt>]
 
| Aggregate other components
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements#The_zscript_Element<tt>zscript</tt>]
 
| Write java code in ZUML
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements#The_attribute_Element<tt>attribute</tt>]]
 
| Make the page more readable
 
|-
 
|  [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements#The_variables_element<tt>variables</tt>]
 
| Store variable in namespace scope
 
|-
 
| [http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/ZK_Elements#The_custom-attributes_element<tt>custom-attributes</tt>]
 
| Store variables in different scopes
 
|}
 
 
==[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Component_Sets_and_XML_Namespaces Component Sets and XML Namespaces]==
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Component_Sets_and_XML_Namespaces#Overview Overview]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Component_Sets_and_XML_Namespaces#Standard_Namespaces Standard Namespaces]
 
*[http://books.zkoss.org/wiki/ZK_Developer%27s_Guide/Fundamental_ZK/ZK_User_Interface_Markup_Language/Component_Sets_and_XML_Namespaces#Mix_With_Another_Markup_Language Mix With Another Markup Language]
 
  
 
{{ ZKDevelopersGuidePageFooter}}
 
{{ ZKDevelopersGuidePageFooter}}

Revision as of 02:16, 1 September 2010

DocumentationZK Developer's GuideFundamental ZKZK User Interface Markup Language
ZK User Interface Markup Language


Stop.png This documentation is for an older version of ZK. For the latest one, please click here.


Overview

The ZK User Interface Markup Language (ZUML) is based on XML. ZUML file has filename extension : zul. Each ZK element instructs the ZK Loader which component to create. A ZK property describes an initial value to be assigned to the created component. A ZK processing instruction describes how to process the whole page, such as the page title.

Implicit Objects are much like global variables handled by system. You can use it to get information of system and client. Also, it's a way to pass information between pages. You'll find it really helpful in developing a web application.

Expresion Language let you access variables in intuitive way.

zscript let you write java code inside ZUML, for fast prototyping.

In section ZK Processing Instruction, we'll show how to use the most common directives to control page behavior, such like macro component.

In section ZK Attributes, we'll show attributes used to control the associated element, not just initializing the data member. It provides utilities like conditional evaluation(if), iterative evaluation(forEach), etc.

In section ZK Elements, we'll show useful elements that's not UI component, like zk element, zscript element.

After reading this chapter, you should be able to write your own ZUML pages easily.





Last Update : 2010/09/01

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