作为JavaServer Faces(JSF)技术的扩展,组件(component)同样是XPages的核心。组件提供了独立的可重用的用户界面功能,大大简化了开发。在XPages的数据库里,这种组件一般被称为控件(control)。XPages推出时预备了一套基本常用的控件,后来又在XPages扩展库(XPages Extension Library)增加了大量有用但质量和文档参差不齐的控件。除了使用这些现成的控件,创建自定义控件(custom
control)也是XPages提倡的开发实践。这样做的好处,和在传统Notes开发里建子表单是一样的,都可以实现更好的代码重用和维护。
在进一步讨论XPages之前,笔者想先提一下另一门时间更少影响也更广的web开发技术,作为参考是有好处的。在用户界面上采用组件在XPages和JSF之前已有很长的历史,微软的声名卓著的VisualStudio系列技术就以此为重要特色。后来为应对J2EE而退出的.Net技术中组件也是核心,无论在桌面应用的WindowsForms还是在web开发的ASP.NET都是如此。就与本文主题有关的web开发来说,ASP.NET成功地将VisualBasic大受欢迎的用户界面组件加事件编程的技术应用到web开发。在ASP.NET里,要创建自己的控件分为两类情况。一类是“从头实现”控件的底层功能,编写一个类继承自control,并实现INamingContainer接口,甚至重写控件的Render方法,控制控件生成的HTML代码,以及实现响应从浏览器传回数据(postback)的事件和处理传回的数据。这类控件名为“自定义控件”(custom
control)或“复合控件”(composite control)。与此相对比较简单的是第二类“用户控件”(user control),它只需像创建一个ASP.NET页面一样在设计器里拖拉系统控件设计界面,然后为这些控件添加必需的事件代码。这两类控件,从面向对象编程的扩展新功能来说,前者应用的是继承(也可以在继承的控件类里组合现成的控件,但出发点是继承),后者则纯粹只是组合。
回到XPages,JSF的理念就借鉴了ASP.NET,不少方面都与它相似。在XPages里,用户可以类似ASP.NET第二类控件的方式快速方便地创建自己的控件——自定义控件(custom control),也就是将现有其他控件组合起来形成一个新的控件。ASP.NET中的第一类自定义控件在XPages里也有对应物,类似地它们也需要编写Java代码,继承基类,实现控件的底层功能。这样做十分繁杂,还需了解XPages和JSF的底层知识,并且还是在IBM公布XPagesExtensibility
API以后才变为可能(IBM公司的开发人员和其他一些XPages的狂热者利用这个API开发了上面提到的XPages扩展库的控件)。与尽可能让程序员容易地开发的IBM在XPages上的策略相对比,对于一般的XPages程序员来说,创建这种自定义控件太困难也没有必要。所以笔者们的讨论只需要集中在“用户控件”。在Designer里,用户控件集中在CustomControls分类下,创建的过程与XPage页面类似,完成后就可以像系统控件一样在控件视图(controls view)供选择。每个用户控件有两个文件组成,一个是通常可见的用户控件设计元素,另一个则是选择Designer的Java视角(Java
perspective)才能看到的配置文件。比如一个名为InputUser的用户控件,实际上由InputUser.xsp和InputUser.xsp-config两个文件组成。
分享到:
相关推荐
domino xpages 开发 视图View Start Key
domino xpages 开发 时间控件显示24小时制
第二课:xpages各类控件的介绍,编辑控件、选择控件、文件处理控件、及开源库里面的常用控件的介绍与使用。
domino xpages 开发 权限相关 控件只读
domino xpages 开发 时间给控件取赋值
XPages的灵活视图控件可重用的定制控件和配套库,可以放入任何Domino XPage应用程序中建立在jQuery和DataTables以及REST数据之上极其通用且可配置对XPages中的开箱即用工具感到无聊。 目标: 简化视图创建,避免一遍...
A Compact Resource to XPages Application Development and the XSP Language
《精通XPages:XPages应用开发和XSP语言权威指南》是一本介绍如何使用XPages进行Web开发的书,书中使用了大量图示和代码清单来帮助读者理解XPages的各种性能和属性,旨在让读者能够快速、有效地解决工作中的实际问题...
XPages开发
domino xpages 开发 权限相关 权限设置html控件可见
以前收藏的一些html, xpages,xpages主题分析引用css和js的区别,今天分享出来,以方便大家更清楚的了解主题的引用js和css
domino xpages 文档开发 页面与定制控件绑定FORM特别说明
xpages repeat 显示序号,这个是非常实用的功能,这个实现就是这样的
ibm domino xpages jdbc范例
经几个网上的伙伴交流,做个免费xpages的培训,当然我们讲的内容可能不能大而全、不能面面俱到,但是就把以前 开发接触的知识点收集、归纳、串联来讲,希望能为想学习xpages的同学做个引入门的作用,更深的知识还是...
xpages repeat在ul中重复li,一看就懂的教程,不懂就复制代码
domino xpages 文档状态改变.
精通Xpages书本的配套练习题 其他的无。
XPages访问关系型数据库的方法介绍PPT
模板资料库文件,本实例系统介绍xpages的功能及用法,具有十分重要的参考价值.