Foreign Templating Framework"
Line 46: | Line 46: | ||
==Request a ZUL page with Ajax== | ==Request a ZUL page with Ajax== | ||
+ | |||
+ | If the templating assembles the page at the client side by using Ajax to get back each fragment, the ZUL page has to do the following: | ||
+ | |||
+ | #Specify [[ZK_ZUML_Reference/The_ZK_User_Interface_Markup_Language/Processing_Instructions/The_page_Directive|<?page complete="true" docType=""?>]] to disable the generation of HTML/HEAD/BODY and DOCTYPE | ||
+ | #Use the native DIV (<code><n:div xmlns:n="native"></code>) to enclose the whole content. | ||
+ | |||
+ | For example, | ||
+ | |||
+ | <source lang="xml"> | ||
+ | <?page complete="true" docType=""?> | ||
+ | <n:div xmlns:n="native"> | ||
+ | <window title="whatever content you want"/> | ||
+ | ... | ||
+ | </n:div> | ||
+ | </source> | ||
=Version History= | =Version History= |
Revision as of 06:25, 15 October 2010
Employment/Purpose
Here describes how to make a ZUL page to be assembled with Ajax in a foreign templating framework, such as Apache Tiles.
ZK supports many powerful layout components, such as portallayout, borderlayout, tablelayout, columnlayout and so on[1]. It is recommended to use them. Of course, read this chapter only if you prefer to use other templating framework.
- ↑ For more information, please refer to ZK Component Reference.
DOCTYPE
To use ZK components correctly, the templating page must specify DOCTYPE as follows.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
...
Make a ZUL page as a fragment
By default, if a ZUL page is requested by the browser directly, it will generate a complete HTML structure, including HTML, HEAD and BODY tags. On the other hand, if the assembling is done by inclusion (javax.servlet.RequestDispatcher's include), a ZUL page will be generated as a HTML fragment without HTML, HEAD, and BODY. For example, if a ZUL page is included by jsp:include
, then it won't generate HTML/HEAD/BODY, such that the following JSP page will be rendered correctly.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<%-- a JSP page --%>
<html>
<body>
<jsp:include page="frag.zul"/>
...
In other words, if the result page is assembled when the request is received, you don't need to do anything specially[1]. However, if the assembling is done at the client side by using Ajax to request fragments after loaded, you have to read the following section.
- ↑ You might take a look at Use ZK in JSP for more information.
Request a ZUL page with Ajax
If the templating assembles the page at the client side by using Ajax to get back each fragment, the ZUL page has to do the following:
- Specify <?page complete="true" docType=""?> to disable the generation of HTML/HEAD/BODY and DOCTYPE
- Use the native DIV (
<n:div xmlns:n="native">
) to enclose the whole content.
For example,
<?page complete="true" docType=""?>
<n:div xmlns:n="native">
<window title="whatever content you want"/>
...
</n:div>
Version History
Version | Date | Content |
---|---|---|
5.0.5 | October, 2010 | ZUL page is able to be generated as a HTML fragment. |