第一篇 入门篇 2
第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
第二篇 进阶篇 156
第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