我們來完成一個類似通訊錄的功能,我們可以添加人員,查看和修改,刪除人員,我們假設我們的通訊錄中只記錄人員的名字和年齡字段。先看看完成後的效果吧
點擊New可以到新增人員頁面,如下圖:
編輯按鈕後進入編輯頁面,並將人員信息帶過來,刪除按鈕可以將文檔刪除。
我們的項目中一種包含三個Xpage頁面,CaryMain,CaryCreate和CaryUpdate。
1. CaryMain頁面爲主頁面,提供新建按鈕和顯示信息。
1.1.該頁面的New按鈕的OnClick的事件代碼如下:
1.2.DataTable屬性設置如下:
Name的計算域值爲:rowdoc.getItemValueString(“name”)
Age的計算域值爲:rowdoc.getItemValueDouble(“age”)
LastModified的計算域值爲:rowdoc.getLastModified()
編輯按鈕的onclick代碼如下:
sessionScope.docUnid = rowdoc.getUniversalID();
sessionScope.name = rowdoc.getItemValueString("name");
sessionScope.age = rowdoc.getItemValueDouble("age");
context.redirectToPage("CaryUpdate")
刪除按鈕的代碼爲:
rowdoc.remove(true)
2. CaryCreate頁面爲創建新文檔頁面
2.1.頁面有兩個EditBox提供Name和Age的輸入,首先設置Name的屬性,如下圖
Age也同樣設置,不過Age的屬性要將Display Type改爲Number。
2.2.兩個按鈕的代碼如下:
OK:
var doc = database.createDocument();
doc.replaceItemValue("name", requestScope.name);
doc.replaceItemValue("age", requestScope.age)
doc.save();
context.redirectToPage("CaryMain")
Cancel:
context.redirectToPage("CaryMain")
3.CaryUpdate頁面提供更改時的修改頁面,
3.1.我們將CaryCreate所有設置拷貝一份到CaryUpdate頁面,然後調整Name和Age和EditBox的屬性,將屬性中Data標籤中的高級中的Parameter改爲Session Scope。
3.2.OK按鈕代碼調整爲如下:
var doc = database.getDocumentByUNID(sessionScope.docUnid);
doc.replaceItemValue("name", sessionScope.name);
doc.replaceItemValue("age", sessionScope.age);
doc.save();
sessionScope.name = null;
sessionScope.age = null;
context.redirectToPage("CaryMain")
這樣我們一個簡單的通訊錄功能就完成了,也算入門Xpage了。