标题：玩转XPages开发
概述
书名：玩转XPages开发  作者：陈原  杨志磊  徐刚  詹永华 等著
ISBN  978-7-121-11235-5
出版日期：2010年8月 
定价：59.00元
开本：16开 
页码：300页
内 容 简 介
本书从实际应用入手，由浅入深、循序渐进地介绍了XPages中的各种设计元素，以及如何在XPages中应用服务器端和客户端JavaScript和CSS，如何将XPages 与Domino数据连接，并在XPages中应用Domino的公式和代理，如何在XPages中调用Java Class，如何应用类似Dojo这样的第三方Web开发工具。除此之外，应用XPages中的自定义控件，用户可以方便地实现模块化开发和资源的管理共享。XPages还支持用户方便地开发多主题、多语言的Web应用程序。本书以一个Web应用的示例贯穿全书，读者可以方便地模仿或者直接使用其中的代码完成相似的开发工作。
本书针对下列人群：传统的Domino Notes协同应用的开发人员，想进一步学习Domino Web应用开发；Domino 8.5以前的Domino Web开发人员，想学习并应用Domino 8.5的这种强大的Web设计元素；想学习Domino Web开发的读者。
总 序
去国离家十六载后，2006年，当我再次归来凝视上海这座不夜城时，不由地感慨世界真的变小了、变平了，中国作为地球村的一员，正以惊人的速度发展变化着。
世界正改变着中国，中国也不断影响着世界。在备感欣喜振奋之余，我亦常常思索，在一个越来越小、越来越平的世界里，中国会面对怎样的挑战和机遇？IBM作为全球最大的信息技术和行业解决方案公司，又在哪些方面可以与中国分享我们的先进技术、经验与创新为要的精神呢？
中国自2001年入世以后，很多企业开始迅速发展，创造出了许多新的发展模式。但是，中国、中国的企业在做大做强并开始走向世界的过程中也面临着越来越多的挑战。如何拥有更多更强的创新能力？如何提升中国在全球一体化经济格局中的竞争力？如何增强企业的可持续发展能力并逐渐走向领袖地位？这应该是很多中国企业共同面对并思考的问题。
百年来，创新求变是IBM公司虽历经艰难仍屡铸辉煌的关键。因而，IBM公司虽多次转型，却始终以超前的技术、出色的管理和独树一帜的产品领导着全球信息技术的发展，保证了世界范围内几乎所有行业用户对信息处理的全方位需求。关于创新，我们有很多的经验愿与中国业界分享。
中国开发中心（China Development Lab, 简称CDL）是IBM在中国的窗口，是中国IT产业与世界交流的桥梁。CDL不仅把全球先进技术引入中国，也将中国领先的技术与行业解决方案推向世界。经过十年的蓬勃发展，CDL已经拥有5000名软件开发人员，成为IBM全球规模最大的软件开发基地之一，并成为跨国公司在中国最大的软件开发机构。十年来，一批又一批中国本土的人才，在CDL提供的平台上施展才华，并逐渐成长为技术与管理精英。
我们始终恪守着“中国人才、国际管理；中国创造、服务全球”的理念，希望将IBM的最新技术、创新和管理心得与大家共同分享，并鼓励CDL的专家走出实验室。于是，我们有幸选择了实力非凡、专业创新的电子工业出版社博文视点公司作为合作伙伴，推出这一系列丛书。该丛书的作者包括来自CDL WebSphere、Information Management、Lotus、Rational、Tivoli五大软件产品开发团队，以及来自中国开发中心新兴技术学院（Emerging Technology Institute）、行业解决方案中心（Industry Solution Labs）、软件服务团队（Software Service）等各个部门的优秀架构师、资深工程师、管理者，范围将涵盖从开发理论及平台、方法论及实践、项目管理、最新软件技术与产品、先进行业解决方案架构，到最新技术标准和前沿技术发展趋势甚至创新的商业模式探讨等诸多方面。
我希望这套丛书能把我们一线专家宝贵的经验、我们的见解呈现给读者。在与业界分享经验和世界最新技术及趋势的同时，我们希望能为推动中国IT产业的加速发展奉献微薄之力。IBM中国开发中心将一如既往地同业界同仁一起，共铸中国信息产业的辉煌明天！
王阳 博士
IBM全球副总裁兼中国开发中心总经理
前 言
IBM Lotus Domino/Notes是一款非常优秀的协作软件，它被广泛应用于各个行业的客户办公自动化或邮件平台，是很多行业事实上的协作标准。对Domino/Notes用户来说，快速开发、快速实施是其中最吸引他们的优势之一。开发传统的Domino Notes协同应用是十分简单快捷的。因为Domino支持的文档型数据库可以直观地将数据和展现集成在一起，给开发者提供了“所见即所得”的便利。
2008年，伴随着Domino 8.5的问世，开发者运用Domino数据库的一种新增设计元素：XPages，可以非常简单便捷地开发出时尚的Web应用！这对Domino/Notes用户无疑又是新增的亮点。
XPages是Domino 8.5中数据库的一种新增设计元素，专门用于方便快速地开发出时尚的、具有Web 2.0风格的Web页面。
本书从实际应用入手，由浅入深、循序渐进地介绍了XPages中的各种设计元素，以及如何在XPages中应用服务器端和客户端JavaScript和CSS，如何将XPages 与Domino数据连接，并在XPages中应用Domino的公式和代理，如何在XPages中调用Java Class，如何应用类似Dojo这样的第三方Web开发工具。除此之外，应用XPages中的自定义控件，用户可以方便地实现模块化开发和资源的管理共享。XPages还支持用户方便地开发多主题、多语言的Web应用程序。
本书以一个Web应用的示例贯穿全书，读者可以方便地模仿或者直接使用其中的代码完成相似的开发工作。
资源下载
本书含配套下载资源，请读者到下载。 
本书读者
本书适合下列读者：
传统的Domino Notes协同应用的开发人员，想进一步学习Domino Web应用开发。
Domino 8.5以前的Domino Web开发人员，想学习并应用Domino 8.5的这种强大的Web设计元素。
想学习Domino Web开发的读者。
IBM Lotus技术经理  陈巧明
2010.6
目 录
第一篇  入门篇
第1章  什么是XPages 2
1.1  XPages简介 4
1.1.1  XPages的定义 4
1.1.2  XPages的运行和配置 7
1.2  Web 2.0你的Domino应用——XPages的作用 9
1.2.1  XPages诞生由来 10
1.2.2  实现更清晰的MVC架构 11
1.2.3  Web 2.0效果的集成 14
1.3  开始之前 16
1.3.1  Domino Web 应用开发简介 16
1.3.2  Dojo简介 19
1.3.3  其他 22
第2章  你的第一个XPages应用 25
2.1  Domino Designer 8.5介绍 26
2.2  XPages设计器介绍 26
2.3  第一个XPages应用 29
第3章  基于控件开发XPages应用 34
3.1  XPages控件 35
3.1.1  核心控件 37
3.1.2  容器控件 38
3.1.3  向XPage和定制控件中添加控件 39
3.2  控件的属性 40
3.2.1  控件的基本属性 42
3.2.2  奇妙的“钻石”——可计算的属性值 64
3.2.3  为控件轻松加上Ajax特效 68
3.3  控件的事件 72
3.3.1  控件的事件简介 73
3.3.2  简单操作 75
3.3.3  客户端的JavaScript简介 78
3.3.4  Server端的JavaScript简介 80
3.4  输入数据校验 87
3.4.1  控件的Validators 89
3.4.2  前端校验与后端校验 93
3.4.3  校验信息的输出 96
第4章  修改XPages的外观展现 99
4.1  CSS（Cascading Style Sheet）简介 100
4.2  如何在Domino 8.5应用中使用CSS 101
4.2.1  在Domino数据库中新建样式表文件 101
4.3  样例：通过样式表控制XPages显示 104
4.4  在主题中指定样式 108
第5章  将XPages与Domino数据连接 109
5.1  利用XPages创建和展现Domino文档 110
5.1.1  从一个传统的Domino表单开始 110
5.1.2  基于XPages构建文档输入和展现界面 112
5.2  XPage与Domino视图 125
5.2.1  在XPage中展现Domino视图 125
5.2.2  在XPages视图中打开文档 128
5.2.3  在XPages视图中实现对文档的多选 129
5.2.4  实现视图搜索 131
第6章  XPages与Domino的公式和代理 133
6.1  如何在Domino中实现后端逻辑 134
6.2  服务器端JavaScript中的“Domino公式” 135
6.3  如何在XPages中调用后端Domino代理 147
第二篇  进阶篇
第7章  自定义XPages控件 156
7.1  关于XPages定制控件 157
7.1.1  定制控件简介 157
7.1.2  规划定制控件 159
7.2  创建定制控件 160
7.2.1  新建定制控件 160
7.2.2  添加UI控件到定制控件 161
7.2.3  添加定制控件到XPage页面 162
7.2.4  定义可编辑区域 163
7.3  设置定制控件的属性 164
7.3.1  设置定制控件的属性 165
7.3.2  设置在XPage中定制控件的属性 166
7.3.3  设置属性定义 166
7.3.4  设置可编辑区域的属性 169
7.4  组织定制控件 171
第8章  在XPages中调用Java Class 172
8.1  如何在服务器端JavaScript函数库中调用Java类 173
8.1.1  通过Designer编写Java代码 173
8.1.2  在服务器端JavaScript函数库中调用Java类 177
8.2  在XPages中调用Web Service 178
8.3  在XPages中访问关系型数据库 179
8.3.1  表结构的建立 179
8.3.2  创建Java类 179
8.3.3  创建服务器端JavaScript库 181
8.3.4  调用服务器端JavaScript函数库中的方法 182
第9章  在XPages中调用Dojo toolkit 186
9.1  Dojo toolkit介绍 188
9.1.1  Dojo toolkit的组成 188
9.1.2  Dojo数据的绑定和验证 189
9.1.3  更多关于Dojo toolkit的资料 190
9.2  如何在XPages中使用Dojo 191
9.2.1  了解系统框架 191
9.2.2  实例的流程图 193
9.2.3  获取Domino视图JSON数据 194
9.2.4  引用Dojo包和Javascript 196
9.2.5  绑定Dojo对象JSON数据 197
9.2.6  在XPage页面中使用控件 198
9.3  定制Dojo对象的外观 199
9.3.1  如何定制Dojo对象外观 199
9.3.2  重载Dojo对象的CSS类定义 200
9.3.3  定制Dojo Tree控件外观 201
9.4  实现Dojo对象的事件响应 203
9.4.1  如何实现Dojo对象的事件响应 203
9.4.2  实现事件响应函数 203
9.4.3  实现Dojo Tree控件事件响应 204
9.5  实例二：Dojo图表 205
9.5.1  步骤和方法 205
9.5.2  开发Dojo饼图控件 206
9.6  本章小结 209
第10章  定制XPages的主题 210
10.1  XPages主题（Themes）简介 211
10.2  主题文件结构剖析 213
10.3  定制XPages控件的主题 215
10.3.1  主题的继承性 215
10.3.2  主题中控件的命名 216
10.3.3  定义控件的主题属性 219
10.3.4  设置控件主题的属性值 221
10.3.5  指定控件的运行环境 224
10.4  在主题中引用资源 225
10.5  配置Domino应用程序的主题 226
第11章  XPages的多语言支持 228
11.1  在XPages中配置多语言属性 229
11.1.1  XPages中开发多语言应用的步骤 229
11.1.2  配置多语言选项 230
11.2  JavaScript中的多语言使用 234
11.2.1  使用Bundle资源 235
11.2.2  使用I18n函数库 236
11.2.3  其他设计元素中的多语言支持 237
11.3  XPages中时区的使用 239
11.3.1  配置时区 239
11.3.2  动态访问时区 241
第12章  基于XPages技术改造已有的Domino应用 242
12.1  改造，从一个传统Notes应用开始 243
12.2  Notes应用的Web 2.0 应用改造方法 245
12.3  对现有系统的分析 248
12.3.1  功能 248
12.3.2  逻辑代码 249
12.3.3  界面代码 250
12.4  设计，以Web 2.0之名 252
12.4.1  用Web 2.0的方式实现传统Domino 应用功能 252
12.4.2  以Web 2.0技术提升用户体验 254
12.4.3  Domino XPages应用设计的输出 256
12.5  全新的XPages视图 256
12.5.1  关于分类视图 257
12.5.2  关于视图中的文档选择 261
12.5.3  关于自定义展现的视图 264
12.6  重新设计XPages表单 267
12.6.1  重用 267
12.6.2  改造 269
12.6.3  创新 272
12.7  如何让XPages与传统Domino应用共存 274
附录A  环境搭建 278