ZUML是基于XML的。每一个XML元素描述了需要创建的组件。一个XML属性描述了一个要被创建的组件的初始值。一个XML处理指示描述了如何处理整个页面,如页的标题。
不同的组件集合通过XML命名空间来区分。例如,XUL的是http://www.zkoss.org/2005/zul,而XHTML是http://www.w3.org/1999/xhtml.
XML
这一章节提供了和ZK一起工作的XML的最基本的原则。如果你熟悉XML,你可以跳过这个章节。如果你想学到更多的,网络上有很多相关的资源,如http://www.w3schools.com/xml/xml_whatis.asp 和 http://www.xml.com/pub/a/98/10/guide0.html
XML是一种标记语言,很象HTML,但是有更加严格的语法。有几点需要特别注意。
元素必须是结构良好的
首先,每个元素必须关闭。有两种方法来关闭一个元素。如下:
<window></window>
<window />
第二,元素要被正确的嵌套。
特殊的字符必须被替换
XML使用<element-name>来表示一个元素,所以你必须替换掉特殊的字符。例如,你必须使用<来替换<字符。
< <
> >
& &
“ "
‘ &apos
你也可以使用CDATA让XML解析器不要对字符串进行解析。
<zscript>
<![CDATA[
Void myfunc(int a,int b)
{
If(a<0&&b>0)
{
//do something
}
}
]]>
</zscript>
有意思的是反斜杠(\)不是特殊字符,所以你不需要担心。
属性值必须被指定且用引号包围
注释<!—and-->
字符编码
这虽然是可选的,但是在你的XML中指定编码,让XML解析器能正确解析是一个好的主意。注意:它必须在文件的第一行。
<?xml version=”1.0” encoding=”UTF-8”?>
同时你需要确认你的XML编辑器是否支持这种编码。
命名空间
命名空间是区分在XML文档中用到名字的简单易懂的方法。ZK使用XML命名空间来区分组件的名字,这样只要在不同的命名空间中,使用相同的名字是可以的。换句话说,ZK使用XML命名空间来表现一个组件集合,这样开发者可以在一个页面中混合两个或多个组件,如下描述。
<html xmlns:="http://www.w3.org/1999/xhtml"
xmlns:x="http://www.zkoss.org/2005/zul"
xmlns:zk="http://www.zkoss.org/2005/zk">
<head>
<title>zhtml demo</title>
</head>
<body>
<h1>zhtml demo</h1>
<table>
<tr>
<td><x:textbox/></td>
<td><x:button label="now" zk:onclick="addItem()"/></td>
</tr>
</table>
<zk:zscript>
void addItem()
{
}
</zk:zscript>
</body>
</html>
用Schema自动完成
许多IDE,如Eclipse,支持自动完成,如果该xml schema被如下指定了的话。
<window xmlns="http://www.zkoss.org/2005/zul"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.zkoss.org/2005/zul http://www.zkoss.org/2005/zul/zul.xsd">
分享到:
相关推荐
ZUML是ZK特有的用户界面标记语言,用于声明式地创建界面。这份文档介绍了ZUML的语法、元素和属性,让开发者能快速上手,以XML的方式构建动态的用户界面。 9. **基础教程(ZK 6 Essentials.pdf)** 这本书籍可能...
6. **SUL(Simple User Logic)和ZUML(ZK User Markup Language)**:SUL是一种轻量级脚本语言,用于在客户端执行简单的逻辑,而ZUML是ZK的标记语言,类似于HTML,但更专注于UI的交互和动态行为。 7. **ZK ...
- **ZUML(ZK User Interface Markup Language)**:这是一种专为ZK设计的标记语言,用于定义组件的布局和行为。ZUML支持条件语句、循环结构等高级特性,可以用来构建复杂的UI逻辑。 - **XML Namespaces**:ZK使用...
HTML5是超文本标记语言的第五个主要版本,极大地提升了Web应用的功能性和用户体验。HTML5引入了新的元素(如、、等),改进了表单处理,支持本地存储,还引入了音频和视频标签,使得在浏览器中直接播放多媒体成为...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
在Repository接口中,可以使用JPA的Query注解或继承JpaRepository接口,实现对数据库的CRUD操作。 此外,Spring还提供了事务管理功能,可以通过@Transactional注解在方法级别声明事务,Spring会自动处理事务的开启...
5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...
Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips ...