Lotus Domino中使用Xpage技术打造通讯录

我们来完成一个类似通讯录的功能,我们可以添加人员,查看和修改,删除人员,我们假设我们的通讯录中只记录人员的名字和年龄字段。先看看完成后的效果吧

clip_image002

 

点击New可以到新增人员页面,如下图:

clip_image004

编辑按钮后进入编辑页面,并将人员信息带过来,删除按钮可以将文档删除。

 

我们的项目中一种包含三个Xpage页面,CaryMainCaryCreateCaryUpdate

1.       CaryMain页面为主页面,提供新建按钮和显示信息。

1.1.该页面的New按钮的OnClick的事件代码如下:

clip_image006

1.2.DataTable属性设置如下:

clip_image008

            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提供NameAge的输入,首先设置Name的属性,如下图

clip_image010

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页面,然后调整NameAgeEditBox的属性,将属性中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了。

你可能感兴趣的:(Lotus)