| |
当ASP.NET撞上JSF之构建应用程序的异同 |
|
时间: 2006-06-06 来自:天极开发 |
 |
|
理想情况下,ASP.NET和JSF
web页面应该包含很少的代码而且只是包含必要的HTML和标签来生成页面的组件,一个页面的事件逻辑驻留于代码文件中。在ASP.NET中,每个web页面与一个相应的子类化页面ASP.NET类的.NET类文件相关联。有时,这些文件被引用为"code-behind"文件。在JSF中,每个web页面都有一个相关联的支持JavaBean类。ASP.NET的code-behind文件和JSF支持bean都包含页面属性(例如标签和输入域)。JSF
bean是用Java编写的,而ASP.NET code-behind文件可以使用任何.NET语言(例如VB.NET或C#)编写。ASP.NET
code-behind类负责处理相关联的页面事件。这个处理一个组件事件的Java类不必是页面的支持JavaBean。过一会我们再讨论它。值得注意的是,在ASP.NET中分离的code-behind文件可能是不必要的-有可能在页面本身的代码中实现事件处理。然而,一般来说,这被认为是一种不好的编码实践,因为这样以来将会导致混淆HTML和代码问题。
下面是我们的示例ASP.NET和JSF应用程序的两幅快照。由于两种组件的内在特性以及我也没有对之应用匹配的视觉式样,所以它们看起来略微有些不同。在两个页面中,显示一个会议房间表格,还有进一步了解相应房间的View按钮和预订该房间的Reserve按钮。
 ASP.NET程序快照  JSF程序快照 | 上面这些组件都是通过拖动添加的,然后通过修改一个属性面板定制它们的外观和行为。当然,我还可以通过编辑它们在HTML源码中的标签来定制这些组件。在此不赘述。下面,我们重点分析一下在这些web页面背后的代码文件,从而进一步分析事件代码。
我认为,以表格形式显示数据是不错的开始,因为这种情况在应用程序是常见的。为此,ASP.NET和JSF也都没有忽略这种实现,两类被显示的组件都提供了内置功能来实现诸如排序和分页显示等效果。在ASP.NET
2.0之前,ASP.NET就已经提供了许多数据显示组件,其中DataGrid组件是使用最广泛的。另外,ASP.NET
2.0发行中引入了一个新的GridView组件。在本例中,我使用了这种组件,因为它添加了一些新的有用的特性。ASP.NET组件利用ADO.NET技术,这也是整个.NET框架的数据存取技术-ADO.NET提供了一种健壮的对象模型来操作各种类型的数据源。例如,Dataset对象允许你以一种断开的方式来使用数据。这意味着,为了使用数据,你的应用程序并不需要连续地连接到数据库上。一个Dataset还允许你隐蔽在它的接口后面的数据库细节,从而使你以对应用程序的其它部分极小的影响来切换数据库。我在本例中所使用的JSF组件是一个与Java
Studio Creator一同发行的表格组件。它使用一个DataProvider对象-它允许你利用JDBC Rowset技术。JDBC
Rowset还能使你在断开的情况下以一种易于使用的方式使用数据库。
|
|
|
|
|
|
|
|