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

点击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了。

Lotus Domino中使用Xpage技术打造通讯录的更多相关文章

  1. Lotus Domino开发心得(一)

    —- Lotus Domino 是当今办公自动化系统的主流开发平台之一,目前大部分企业和机构都在使用Lotus Domino 开发自己的无纸办公系统.在开发过程中,我积累了一些小技巧,现在公布出来,希 ...

  2. Linux平台下Lotus Domino服务器部署案例

    Linux平台下Lotus Domino服务器部署案例 几年前我写了篇<RHAS2.1下安装中文LotusDominoR6.5图解>这篇文档被多个大型网站转载,曾帮助过很多公司系统管理员部 ...

  3. [转载]资深程序员点评当前某些对Lotus Domino 的不实评论

    实现机关办公自动化工作需要计算机技术的支持,在计算机软件范围中,有网络操作系统软件.数据库软件和开发工具等基本系统软件,在此基础上开发出适合本单位使用的应用软件.对如何选用系统软件,笔者没有发言权,但 ...

  4. Lotus Domino和关系型数据库(LEI,DESC,JDBC连接)

    Domino和关系数据库进行交互是日常项目开发中经常涉及到的一个方面,每个domino开发人员都写过这样的程序,本文就这个方面做一下简单的总结. 一.工具篇 1.使用LEI(Lotus Enterpr ...

  5. 如何开发Domino中的WebService

    在domino中写webservice可以使用LotusScript,也可以使用java,由于LotusScript API提供的功能多数都是操作domino数据库中文档的,在web service中 ...

  6. Linux下搭建Lotus Domino集群

    Linux下搭建Lotus Domino 集群 本文内容是Linux平台下Lotus Domino服务器部署案例(http://chenguang.blog.51cto.com/350944/1334 ...

  7. RHAS Linux下架构Lotus Domino详解(附视频)

    此处下载操作视频:RHAS Linux下架构Lotus Domino 6.5视频教程      在rhas下架构Lotus Domino 汉化 650) this.width=650;" o ...

  8. Lotus Notes中编程发送邮件(二)

    在编程发送各种类似通知的邮件时,时常会需要发件人显示为某个特定的帐户,比如某个部门的名称或者管理员的名字.另一种需求是,用户收到某封邮件后,回复邮件的地址不同于发件人栏显示的地址.而正常情况下,发送邮 ...

  9. 利用Spring.Net技术打造可切换的分布式缓存读写类

    利用Spring.Net技术打造可切换的Memcached分布式缓存读写类 Memcached是一个高性能的分布式内存对象缓存系统,因为工作在内存,读写速率比数据库高的不是一般的多,和Radis一样具 ...

随机推荐

  1. Multi-line NSAttributedString with truncated text

    http://stackoverflow.com/questions/7611816/multi-line-nsattributedstring-with-truncated-text/1017279 ...

  2. easyui combobox onSelect事件

    easyui combobox 没有onchange事件,只有onSelect事件 1 $(function () { $('#Select6').combobox({ onSelect: funct ...

  3. 浅谈.Net WebService开发

    一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问并使用在线服务,一些数据,由于安全性问题,不能提供数据库给其他单位使用,这时候可以使   用WebSer ...

  4. mysql状态查看 QPS/TPS/缓存命中率查看

    运行中的mysql状态查看   对正在运行的mysql进行监控,其中一个方式就是查看mysql运行状态.    (1)QPS(每秒Query量)  QPS = Questions(or Queries ...

  5. nodejs: 理解Buffer

    学习nodejs中buffer这一章,有一段写到buffer的拼接,其中一段源码非常优美,特拿来与大家共享. var chunks = []; var size = 0; res.on('data', ...

  6. git -- 如何撤销本地工作目录的修改

    git checkout -- 文件名(包含路径) 撤销本地全部修改 git checkout .

  7. Windows 8.1 应用再出发 - 几种新增控件(1)

    Windows 8.1 新增的一些控件,分别是:AppBar.CommandBar.DatePicker.TimePicker.Flyout.MenuFlyout.SettingsFlyout.Hub ...

  8. Attribute "lazy" with value "true" must have a value from the list "false proxy no-proxy "

    Hibernate 3.2 版本 当设置lazy="true"属性时,会产生该个异常: Attribute "lazy" with value "tr ...

  9. 【转贴】-- 基于QT的跨平台应用开发

    原帖地址:http://www.cnblogs.com/R0b1n/p/4106613.html 1 Qt简介 Qt是1991年奇趣科技开发的一个跨平台的C++图形用户界面应用程序框架.它提供给应用程 ...

  10. python os&shutil 文件操作

    python os&shutil 文件操作 # os 模块 os.sep 可以取代操作系统特定的路径分隔符.windows下为 '\\' os.name 字符串指示你正在使用的平台.比如对于W ...