精通XPages:XPages应用开发和XSP语言权威指南

978-7-115-29595-8
作者: 【美】Martin Donnelly Mark Wallace Tony McGuckin
译者: Lotus Notes/Domino技术团队
编辑: 俞彬

图书目录:

目 录

第 一部分 XPages入门

第 1章 XPages介绍 3

1.1 XPages基础 3

1.2 新技术? 4

1.3 不同的开发模式 4

1.4 变化的和不变的 5

1.5 新地平线 6

1.6 结语 6

第 2章 准备工作 7

2.1 下载、版本和位置 7

2.2 安装Domino Designer 8

2.3 安装客户机补丁包 8

2.4 客户机配置 8

2.5 Domino Designer快速指南 9

2.5.1 Domino Designer欢迎界面 9

2.5.2 Domino Designer透视图 10

2.5.3 创建一个新的应用程序 10

2.5.4 创建一个XPage 12

2.5.5 在Notes客户机中预览 12

2.5.6 在Web浏览器中预览 13

2.5.7 向XPage添加控件 15

2.6 结语 17

第3章 创建第 一个XPages应用 18

3.1 奠定基础 18

3.2 视图和表单 20

3.3 创建一个XPages视图 24

3.4 CRUD 29

3.5 结语 33

第 二部分 XPages开发:第 一原则

第4章 剖析XPage 37

4.1 到底什么是XPage 37

4.2 理解XPage标记 38

4.2.1 XML入门 38

4.2.2 XPages XML语法 40

4.2.3 简单属性 41

4.2.4 复杂属性 43

4.2.5 复杂值 43

4.2.6 计算属性 44

4.2.7 数据绑定 47

4.2.8 XPages标签 48

4.3 数据源 48

4.3.1 Domino文档 49

4.3.2 Domino视图 49

4.3.3 数据上下文 50

4.4 控件 51

4.4.1 编辑控件 51

4.4.2 命令控件 55

4.4.3 选择控件 58

4.4.4 显示控件 65

4.4.5 文件处理控件 67

4.5 容器 69

4.5.1 面板 69

4.5.2 表格 72

4.5.3 视图 72

4.5.4 数据表格 74

4.5.5 重复控件 75

4.5.6 包含页面 78

4.5.7 带标签的面板 78

4.5.8 区域 79

4.6 XPage资源 80

4.6.1 Script库 80

4.6.2 样式表 81

4.6.3 资源包 83

4.6.4 Dojo模块 83

4.6.5 通用头资源 84

4.6.6 元数据资源 84

4.7 转换器 85

4.8 验证器 87

4.9 简单操作 93

4.10 客户机脚本 98

4.11 HTML标签 99

4.12 结语 100

第5章 XPages与JavaServer Faces 101

5.1 什么是JavaServer Faces 102

5.2 JSF基础 102

5.3 XPage如何扩展JSF 106

5.3.1 基于XML的表示层 109

5.3.2 请求处理生命周期 109

5.3.3 用户界面组件模型 109

5.3.4 标准用户界面组件 113

5.3.5 值绑定和方法绑定 115

5.3.6 XPages内置变量 116

5.4 结语 118

第6章 创建XPages业务逻辑 119

6.1 添加业务逻辑 119

使用xp:eventHandler标签 121

6.2 简单操作 126

6.2.1 更改文档方式 127

6.2.2 确认操作 127

6.2.3 创建响应文档 128

6.2.4 删除文档 129

6.2.5 删除所选文档 130

6.2.6 执行客户机脚本 130

6.2.7 执行脚本 131

6.2.8 修改字段 131

6.2.9 打开页面 132

6.2.10 发布组件属性 133

6.2.11 发布视图列 134

6.2.12 保存数据源 135

6.2.13 保存文档 136

6.2.14 设置组件方式操作 138

6.2.15 设置值 139

6.2.16 操作组 139

6.3 在XPages中使用JavaScript 140

6.3.1 服务器端JavaScript 141

6.3.2 客户机JavaScript 156

6.4 结语 160

第三部分 数据绑定

第7章 处理Domino文档 163

7.1 Domino文档数据源 163

7.1.1 创建和编辑文档 165

7.1.2 URL参数的使用 166

7.1.3 创建响应文档 166

7.1.4 执行表单逻辑 169

7.1.5 并发文档更新 171

7.1.6 多文档数据源 172

7.1.7 文档数据源事件 174

7.1.8 通用数据源属性 176

7.1.9 其他数据源属性 176

7.2 以编程的方式使用Domino文档 177

7.2.1 简单操作 177

7.2.2 JavaScript 178

7.3 富文档 179

7.4 结语 182

第8章 使用Domino视图 183

8.1 databaseName属性 184

8.2 视图数据源过滤器 185

8.2.1 categoryFilter属性 185

8.2.2 search属性和searchMaxDocs属性 187

8.2.3 parentId属性 189

8.2.4 ignoreRequestParams属性 190

8.2.5 keys和keysExactMatch属性 190

8.3 其他视图内容修改器 193

8.3.1 startKeys属性 193

8.3.2 expandLevel属性 194

8.4 多视图页面 195

8.4.1 requestParamPrefix属性 196

8.5 文件夹与视图 198

8.6 视图数据加载 199

8.6.1 loaded属性和scope属性 199

8.6.2 postOpenView属性和queryOpenView属性 199

8.7 视图数据缓存 200

8.8 列排序 204

8.9 结语 205

第9章 视图基础扩展 206

9.1 尝试任意一种视图控件 206

9.2 视图控件:一次亲密接触 208

9.2.1 列值的全新展现 209

9.2.2 视图面板华丽变身 210

9.2.3 分类功能的使用 221

9.2.4 视图属性与视图面板属性 227

9.3 数据表格 230

利用数据表格来构建一个迷你嵌入式概要视图 235

9.4 重复控件 239

9.4.1 重复控件设计模式 240

9.4.2 嵌套重复控件 241

9.4.3 丰富富文本内容 243

9.5 有趣的分页器 244

9.6 结语 246

第四部分 可编程性

第 10章 定制控件 249

10.1 分而治之 249

10.2 定制控件入门 250

10.3 使用属性定义 257

10.3.1 属性选项卡 259

10.3.2 验证选项卡 262

10.3.3 可视选项卡 263

10.3.4 属性定义总结 264

10.4 使用compositeData对象 264

10.5 发送/接收消息 269

多个实例和属性组 271

10.6 定制控件设计模式 273

10.6.1 聚合容器模式 273

10.6.2 布局容器模式 274

10.7 结语 279

第 11章 高级脚本 280

11.1 应用程序框架 280

11.2 AJAX和部分更新 281

11.2.1 部分更新:Out-of-the-Box模式! 281

11.2.2 部分更新:Doing-It-My-Way模式! 288

11.3 事件参数 293

11.4 Dojo集成 295

11.4.1 dojoTheme和dojoParseOnLoad属性 296

11.4.2 dojoModule资源 297

11.4.3 dojoType和dojoAttributes属性 298

11.4.4 集成Dojo部件及扩展Dojo类路径 298

11.5 使用传统的Notes/Domino开发模块 307

11.5.1 使用@Functions、@Commands以及公式语言 308

11.5.2 使用Agents、内存文档以及profile文档 310

11.6 Managed Beans 316

11.7 结语 321

第 12章 XPage可扩展性 322

12.1 如何创建一个新的用户界面控件 322

12.2 组件例子 323

12.3 开始 324

12.3.1 创建初始应用 324

12.3.2 在Domino Designer透视图中增加包资源管理器 325

12.3.2 增加一个Java源文件夹 325

12.4 构造一个组件 327

12.4.1 创建一个UI组件扩展类 326

12.4.2 为UI组件扩展创建定义标签的.xsp-config文件 328

12.4.3 创建一个Renderer并且在应用配置中进行注册(faces-config.xml) 331

12.4.4 快速测试应用来验证到目前为止我们的功能OK 333

12.5 使用组件属性 334

12.5.1 组件Properties和Attributes 334

12.5.2 为组件添加一个Property 334

12.5.3 State Holder:在请求之间保存状态 335

12.5.4 指定简单Properties 335

12.5.5 继承xsp-config Properties 336

12.6 创建初始的xsp-config定义 339

12.6.1 创建base.xsp-config文件 339

12.6.2 创建和base.xsp-config文件中组属性定义对应的接口 342

12.6.3 在Domino Designer中重新访问组件属性 344

12.6.4 定义复杂属性 344

12.6.5 完成UISpinner组件的xsp-config配置文件 353

12.6.6 完成UI组件扩展,UISpinner 360

12.6.7 完成UISpinnerRenderer渲染器 363

12.7 创建使用UISpinner组件的应用实例 367

12.7.1 测试新UI组件扩展 367

12.7.2 创建Backing Bean 368

12.7.3 注册Backing Bean 369

12.7.4 创建**终版本的测试应用程序 370

12.7.5 好看的外观 373

12.7.6 测试以保证所有的功能可用 373

12.8 从这里到哪里去 374

12.8.1 XPages扩展API开发者指南 374

12.8.2 XPages扩展库 374

12.8.3 IBM DeveloperWorks 375

12.9 结语 375

第 13章 Notes客户机中的XPages 376

13.1 总体思考 376

13.2 Notes客户机中的XPages入门 378

13.3 三、二、一……起飞 379

13.4 书签 380

13.5 脱机工作 382

13.6 XPages在客户机与Web中的区别 385

13.7 其他微妙的区别 386

13.8 XPages,Notes的好公民 388

13.9 enableModifiedFlag和disableModifiedFlag的介绍 390

13.10 管理标签选项卡窗口 392

13.11 Notes链接vs Domino链接 396

13.12 一些调试技巧 400

13.13 XPages和组合应用程序 402

13.13.1 创建一个XPages应用程序组件 403

13.13.2 创建一个组件来监听您的XPages组件 404

13.13.3 组装组合应用程序:聚合XPages讨论库组件和Google窗口小部件 406

13.13.4 一个组件可以同时接收和发布事件 410

13.14 进一步探索组合应用程序 412

第五部分 应用用户体验

第 14章 XPages主题 417

14.1 它曾经是这样的…但现在不是了 417

14.2 通过样式进行美化 418

14.2.1 手动设置样式属性 422

14.2.2 理解style属性如何使用 424

14.2.3 通过计算动态生成style属性值 424

14.3 通过样式类进行美化 425

14.3.1 不劳而获 426

14.3.2 了解如何使用styleClass属性 430

14.3.3 动态计算styleClass属性值 432

14.3.4 扩展的styleClass和style属性 434

14.4 主题 438

14.4.1 什么是主题 438

14.4.2 主题可以做什么 439

14.4.3 主题架构和继承 440

14.4.4 主题的使用 446

14.4.5 主题资源 453

14.4.6 资源路径 460

14.4.7 主题属性、themeId、控件定义、控件属性 466

14.5 结语 477

第 15章 国际化 478

15.1 概述 478

15.2 使用本地化选项 478

15.2.1 本地化资源束文件 480

15.2.2 设置本地化选项 480

15.2.3 测试本地化应用程序 483

15.2.4 翻译器 484

15.2.5 合并XPage的修改 486

15.2.6 陷阱! 488

15.3 本地化计算表达式和JavaScript 490

15.3.1 添加一个资源束 490

15.3.2 本地化计算表达式 492

15.3.3 本地化客户机JavaScript 493

15.4 本地化脚本库 493

15.4.1 服务器端脚本库 493

15.4.2 客户机脚本库 494

15.5 启用国际化 495

15.6 XPages中的区域 496

15.7 废弃的区域代码 499

15.8 结语 500

第六部分 性能、可扩展性和安全

第 16章 应用性能和可扩展性 503

16.1 黄金法则 503

16.2 了解请求处理生命周期 504

16.2.1 GET请求和JSF生命周期 504

16.2.2 POST请求和JSF生命周期 505

16.3 降低CPU使用率 505

16.3.1 GET vs POST请求 506

16.3.2 局部更新 509

16.3.3 局部执行模式 511

16.4 降低内存使用率 514

16.4.1 HTTPJVMMaxHeapSize和HTTPJVMMaxHeapSizeSet参数 514

16.4.2 xsp.persistence.*属性 514

16.4.3 dataCache属性 515

16.5 结语 516

第 17章 安全性 517

17.1 Notes/Domino安全性和XPages 517

17.1.1 服务器层的安全性 517

17.1.2 应用程序层的安全性 518

17.1.3 设计元素层的安全性 520

17.1.4 文档层的安全性 525

17.1.5 工作站执行控制列表(ECL)层的安全性 527

17.1.6 有用的资源 527

17.2 让我们从一个例子开始 527

17.2.1 开始创建一个应用程序 527

17.2.2 实现访问控制列表 529

17.2.3 使用您的签名来签名XPages 530

17.3 可编程性限制(Programability Restrictions) 530

17.3.1 Sign or Run Unrestricted Methods and Operations域 531

17.3.2 Sign Agents to Run on Behalf of Someone Else域 531

17.3.3 Sign Agents or XPages to Run on Behalf of the Invoker域 532

17.3.4 Sign Script Libraries to Run on Behalf of Someone Else域 532

17.4 受限操作(Restricted Operation) 532

17.5 XPages安全检查 533

NSF类加载器桥接(ClassLoader Bridge) 534

17.6 Notes客户机的XPages安全性 534

执行控制列表(ECL) 535

17.7 活动内容过滤 537

17.8 公共权限(Public Access) 539

17.8.1 为XPages设置公共权限 539

17.8.2 在XPages中检查公共权限 540

17.9 SessionAsSigner 540

17.10 XPages Java安全异常的故障诊断 542

17.11 结语 542

第七部分 附录

附录A XSP编程参考 547

附录A.1 XSP标签参考 547

附录A.2 XSP Java类 548

附录A.3 Notes/Domino Java API类 549

附录A.4 XSP JavaScript伪类 550

附录B XSP样式类参考 552

附录B.1 XSP CSS文件 552

附录B.2 XSP样式类 552

附录C 有用的XPages技术网站 556

详情

XPages是Notes/Domino新的Web应用开发框架。本书从XPage原理、数据绑定、编程性、性能和可扩展性、用户体验以及安全等方面深入浅出地向读者讲解了XPages,是XPages应用开发的必备利器。

图书摘要

相关图书

Yii框架深度剖析
Yii框架深度剖析
Backbone.js应用程序开发
Backbone.js应用程序开发

相关文章

相关课程