Templating"

From Documentation
m
m
Line 3: Line 3:
 
Templating is a technique that allows developers to define UI fragments, and how to assemble them into a complete UI at runtime. With ZK, it can be done by use of annotations and composer (or initators, <javadoc type="interface">org.zkoss.zk.ui.utilInitiator</javadoc>).
 
Templating is a technique that allows developers to define UI fragments, and how to assemble them into a complete UI at runtime. With ZK, it can be done by use of annotations and composer (or initators, <javadoc type="interface">org.zkoss.zk.ui.utilInitiator</javadoc>).
  
The basic idea is to specify the name of a fragment as [[ZK Developer's Reference/Annotations|annotations]] in a ZUML document that shall represent a complete UI, and a composer that is capable to parse annotations and replace them with the fragment. For example,
+
In general, templating can be done by specifying the name of a fragment as [[ZK Developer's Reference/Annotations|annotations]] in a ZUML document that shall represent a complete UI, and a composer that is capable to parse annotations and replace them with the fragment. For example,
  
 
<source lang="xml">
 
<source lang="xml">

Revision as of 04:41, 10 January 2011

Templating is a technique that allows developers to define UI fragments, and how to assemble them into a complete UI at runtime. With ZK, it can be done by use of annotations and composer (or initators, Initiator).

In general, templating can be done by specifying the name of a fragment as annotations in a ZUML document that shall represent a complete UI, and a composer that is capable to parse annotations and replace them with the fragment. For example,

<div apply="foo.MyTemplateManager"><!-- your template manager -->
    <include src="@{header}"/><!-- you could use any component as long as your manager knows how to handle it -->
    <include src="@{content}"/>
    <include src="@{footer}"/>
</div>

Here is a list of the implementations that ZK supports by default. You could implement your own, if it does not fulfill your requirement.


Subsections:



Last Update : 2011/01/10

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