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

点击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. js数组去重几种思路

    在一些后台语言中都内置了一些方法来处理数组或集合中重复的数据.但是js中并没有类似的方法,网上已经有一些方法,但是不够详细.部分代码来源于网络.个人总计如下:大致有4种思路 1)使用两次循环比较原始的 ...

  2. CSS 常用基本功能整理

    1.文字访问特权 点击前.点击时.点击后.下划线.跳转. <!DOCTYPE html> <html> <head> <meta charset=" ...

  3. ASP.NET Web API 2.1支持Binary JSON(Bson)

    ASP.NET Web API 2.1内建支持XML.Json.Bson.form-urlencoded的MiME type,今天重点介绍下Bson.BSON是由10gen开发的一个数据格式,目前主要 ...

  4. 插件开发--BE插件开发

    U9的插件主要分为3种,即(1)BE插件(2)UI插件(3)BP/SV插件 1.新建类库解决方案 2.新建插件类,并引用以下dll,UBF安装目录U9.VOB.Product.UBF\UBFStudi ...

  5. 【wikioi】1025 选菜

    题目链接 算法:01背包DP 此题主要是预处理恶心.我提交了2次...第一次数组开小了...(体积要=V*10) 注意: 钱做为体积,美味价值作为价值 注意,因为体积(钱)是小数点后1位,故数组下标无 ...

  6. hdu 1032

    题目的意思是把输入的i,j 从i到j的每一个数 做循环,输出循环次数最大的值 易错的地方:做循环是容易直接用i进行计算 i=i/2:或i=i*3+1: 这样i的值改变就不能在做下面数的循环 #incl ...

  7. JSP知识点汇总

    有几种方法可以实现服务器内部跳转? 使用request对象提供的方法:request.getRequestDispatcher(String URI).forward(ServletRequest r ...

  8. Tomcat7.x 与 Tomcat6.x

    试用 Tomcat7.x 与 Tomcat6.x 的明显不同 + Context 填写方法 + 默认应用配置方法 标签: tomcat数据库驱动程序数据库虚拟机jdbcjavascript 2012- ...

  9. Win32 SecuritySetting

    http://flylib.com/books/en/2.21.1.207/1/ http://blogs.technet.com/b/heyscriptingguy/archive/2011/11/ ...

  10. 通过纯Java代码从excle中读取数据(为.xlsx文件)

    参考链接: 程序代码: package demo; import java.io.File; import java.io.IOException; import java.io.InputStrea ...