第二個範例 (Part III)
The following examples had been tested on Mozilla's Firefox and Microsoft's IE. The document is provided as is. You are welcomed to use it for non-commercial purpose.Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
請勿轉貼
看其他教材
ZK 與資料庫的結合
在建立完 ZK 的畫面,並且安裝完資料庫之後,剩下的就是如何讓 ZK 與資料庫 來互動;基本上,這就是開始使用 ZK 的事件處理機制。在之前的 Ajax 的範例, 我們使用 Javascript 來完成這個部分,可是由於 ZK 可以與多種語言結合,而且 其預設的語言是 Java,所以我們也以 Java 來完成這項工作。 ZK 和 Java 連結使用的方式有以下三種:- 直接將 Java 程式碼寫在 zul 檔案內,而這些程式碼只需要放在 <zscript> 標籤內即可,它就可以像 JSP 一樣,在載入 zul 時就可以 執行。
- 把 Java 的原始碼放置於另一個檔案內,然後讓 zul 檔把它引入。
- zul 檔可以使用已經編譯好的 Java 類別檔(即 .class 檔)。
<zscript> import java.util.*; // 抓取所有待辦事項 EventDAO evtdao = new EventDAO(); List allEvents = evtdao.findAll(); </zscript>
<listitem forEach="${allEvents}" value="${each}"> <listcell label="${each.name}"/> <listcell label="${each.priority}"/> <listcell label="${each.date}"/> </listitem>
執行該段程式碼後,執行的畫面如下:
<?xml version="1.0" encoding="Big5"?> <window title="待辦事項列表" width="640px" border="normal" mode="highlighted"> <zscript> import java.util.*; // 抓取所有待辦事項 EventDAO evtdao = new EventDAO(); List allEvents = evtdao.findAll(); </zscript> <listbox id="box" multiple="true" rows="4"> <listhead> <listheader label="待辦事項" /> <listheader label="重要性" width="50px" /> <listheader label="日期" width="90px" /> </listhead> <listitem forEach="${allEvents}" value="${each}"> <listcell label="${each.name}"/> <listcell label="${each.priority}"/> <listcell label="${each.date}"/> </listitem> </listbox> <groupbox> <caption label="待辦事項管理" /> 待辦事項: <textbox id="name" cols="25" /> 重要性: <intbox id="priority" cols="1" /> 日期: <datebox id="date" cols="8" /> <button label="新增" width="46px" height="24px"/> <button label="修改" width="46px" height="24px"/> <button label="刪除" width="46px" height="24px"/> </groupbox> </window>
Written by: 國立中興大學資管系呂瑞麟 Eric Jui-Lin Lu
沒有留言:
張貼留言