Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)delvpublished in(发表于) 2014/1/6 9:13:04 当ASP.NET撞上JSF之构建应用程序的异同_[Asp.Net教程]
上面这些组件都是通过拖动添加的,然后通过修改一个属性面板定制它们的外观和行为。当然,我还可以通过编辑它们在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还能使你在断开的情况下以一种易于使用的方式使用数据库。
每个这些启动页面都各自包含一个单一的标签组件实现页面头部。在一个页面的事件处理器中可以存取和修改该页面组件。通过在可视化编辑器中简单地双击该组件,你可以把大多数的事件挂接到一个组件上。而且,这将会把你导向代码文件中,在此你可以添加代码。如我们前面已经注意到的,与web页面相关联的ASP.NET页面类正是你的事件代码将驻留的地方。在JSF中,并不象这样简单。JSF事件遵循Observer设计模式。需要被通知某些事件的对象都要把它们自己注册为该事件相应的听者(listener)。在JSF****有两种类型的事件:Value Changed事件和Action事件。典型地,Value Changed事件发生在例如列表框选择这样的行为中,而Action事件将产生例如按钮点击这样的用户行为。任何Java类都能够响应于一个web表单的事件。然而,JSF页面的支持bean是实现事件方法的很方便的位置,例如Sun Java Studio Creator就假定你把相应的实现放置于此。 当启动一个ASP.NET应用程序时,位于一个文件web.config中的配置信息被分析和应用。每个ASP.NET应用程序都有一个web.config。我通过把连接串存储到Mysql数据库中来利用这个文件。web.config经常用来存储数据库连接串以达到在代码外保持这个连接。下面展示了web.config文件的一部分代码片断:
注意,在上面的事件代码中,ASP.NET文件调用一个方法"Server.Transfer"实现把控制传递给另一个页面。然而,在JSF事件代码中,你不会找到这样的到另一个页面的直接的参考,而仅有返回串"view"和"reserve"。这是因为,JSF中经由我们更早讨论的faces-config配置文件处理页面流问题,任何使用过开源框架Struts的Java开发者应该对此很熟悉。在ConferenceRooms.jsp文件的faces-config.xml文件****有两个入口-字符串"view"和"reserve"。在运行时刻,应用程序使用这些字符串查询页面地址。下面是在ConferenceRooms.jsp页面的faces-config文件中发现的XML形式的导航规则。我是使用Java Studio Creator中的一个可视化设计器创建的这些映射。
赞