ZK Grid / Listbox使用JSONObject列表

时间:2012-06-08 07:25:58

标签: json grid zk zul

任何人都可以帮我使用zk(zkoss)框架吗?我是这个框架的新手。我想使用jsonobject列表创建一个网格/列表框。我没有找到任何可以帮助我使用jsonobject列表创建网格/列表框的示例。我想创建这样的简单列表框:

<?page title="Table of Users" contentType="text/html;charset=UTF-8"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<zk>
<window id="windowUsers" width="500px" apply="${userController}" viewModel="@id('vm')">
    <groupbox mold="3d">
        <caption label="Table of Users" />
        <listbox model="@load(vm.listUser)" width="400px">
            <listhead>
                <listheader label="User Id"/>
                <listheader label="Name"/>
                <listheader label="Address"/>
                <listheader label="Phone"/>
            </listhead>
            <template name="model" var="list">
                <listitem>
                    <listcell label="@load(list.id)" />
                    <listcell label="@load(list.name)" />
                    <listcell label="@load(list.address)" />
                    <listcell label="@load(list.phone)" />
                </listitem>
            </template>
        </listbox>
    </groupbox>
</window>

提前谢谢。

2 个答案:

答案 0 :(得分:1)

ZK通常用作服务器端页面,由服务器上的java评估。因此,上面的示例通常会在服务器上呈现一个java对象列表,该列表作为交互式dhtml输出到浏览器。要解释的图表是here

考虑到这一点,服务器上没有json对象列表;您将它们解析为服务器上的java对象,并将java对象呈现到页面中。 ZK确实有“客户端融合”,能够与他们的浏览器端渲染引擎进行交互。然而,这更像是一项先进的功能;您应该能够使用ZK编写整个系统而无需进行任何浏览器编程。这是demo,但我从未使用过自己

(警告:无耻插件)查看我的演示应用程序,该应用程序有一个简单的页面,可以像example一样呈现和编辑对象列表。

答案 1 :(得分:1)

谢谢你的回答,它教会了我足够的ZK。我有办法获得列表框中显示的JSON对象列表,如下所示:

<listitem forEach="${userController.list}">
    <listcell label="${each.id}" />
    <listcell label="${each.name}" />
    <listcell label="${each.address}" />
    <listcell label="${each.phone}" />
</listitem>