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

点击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. [windows]快速从ftp下载最新软件包的批处理脚本

    背景 由于敏捷开发,快速迭代,我们项目一天会有三个版本,也就意味着我一天要去获取三次软件包.我负责服务端开发,所以我经常需要去拿最新的客户端.我们的客户端放置在一个公共的ftp上面.每天频繁登陆ftp ...

  2. UE简单操作

    一:UE恢复默认配置      1.开始--运行-- “%APPDATA%” 回车 .      2. 找到并打开 IDMComp 文件夹.将文件夹“UltraEdit”整个给删除.      3.重 ...

  3. MySQL日期时间函数大全(转)

    MySQL日期时间函数大全 DAYOFWEEK(date)  返回日期date是星期几(1=星期天,2=星期一,……7=星期六,ODBC标准)mysql> select DAYOFWEEK('1 ...

  4. LLVM 初探<一>

    一.安装LLVM LLVM是一个低级虚拟机,全称为Low Level Virtual Machine.LLVM也是一个新型的编译器框架,相关的介绍Wikipedia. 现在LLVM的版本已经有很多,根 ...

  5. checkboxes(复选按钮)

    复选按钮是input的输入框的另一种类型. 每一个复选按钮都应该嵌套进label元素中. 所有关联的复选按钮应该具有相同的name属性. 下面是复选按钮的例子: <label><in ...

  6. 5.11-5.15javascript制作动态表格

    制作动态表格的主要是运用js中表格类的insertRow.insertCell简易添加行和列的代码,不过要注意每行添加的表格是有位置行编号的,每行的编号为rows.length-1,增加的表格内的标签 ...

  7. 《Linux内核设计与实现》读书笔记(十五)- 进程地址空间(kernel 2.6.32.60)

    进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理. 主要内容: 地址空间(mm_struct) 虚拟内存区域(VMA) 地址空间和页表 1. 地址空间(m ...

  8. JS自动化

    写在前面 记得当时刷笔试题的时候有了解过“前端工程化”,无非就是用自动化工具帮助开发人员完成一些小细节,提高工作效率之类的,不过当时可没想到可维护性这么远 构建项目 -> 模块化开发 -> ...

  9. ASP.NET中的KRE是什么?

    KRE的英文全称是K Runtime Environment,其中K是ASP.NET vNext(后来叫ASP.NET 5)的项目代号. KRE是ASP.NET 5运行时环境,它是ASP.NET 5的 ...

  10. why add \n to http response.responseText

    这是今天我们公司线上出现的问题,http response 的信息,都添加了一个\n换行,我找了好久呢 才发现,我把php页面的结束符?>去掉之后,一切正常,这个?>,我平时也是很少加上的 ...