欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

解决jsp程序不直接、代码与UI混杂的痛: JSPWidget

程序员文章站 2022-05-18 14:26:09
介绍一个非常不错的基于java、web的ui解决方案,用java做web应用的人都知道,web上ui开发的痛苦吧,ui表现上几乎没有什么现成的控件,这一点.net的确是比java要强一点,即使str...

介绍一个非常不错的基于java、web的ui解决方案,用java做web应用的人都知道,web上ui开发的痛苦吧,ui表现上几乎没有什么现成的控件,这一点.net的确是比java要强一点,即使struts也没有提供很好的解决(sun企业级应用的首选)widget是一个*的开源的ui框架,它仿照.net的viewstate等思想,提供了事件驱动、页面状态保存(viewstate)、校验、以及常用(dropdownlist、panel、treeview、menu)等解决方案。并且提供详细的文档和demo。其实在一年前就看到过这个项目了,今天偶尔又看到推荐给大家,希望可以学习、参考、借鉴他的思想。

项目地址:(sun企业级应用的首选)widget

看一下他的menu组件效果很cool吧:(sun企业级应用的首选)widget/docs/gui/menu_03.jsp(sun企业级应用的首选)

下面是作者对webui的一段分析:

设计目标

开发 web-based 应用程式已俨然成为企业应用未来的主流趋势,而 jsp(sun企业级应用的首选) 具备了 java 跨平台及可存取 j2ee 架构中提供的所有服务等优点,更是企业在专案开发时考量的最佳网站技術。

然而,单单用 jsp(sun企业级应用的首选) 来开发 web 专案並不容易,因为 jsp(sun企业级应用的首选)非事件驱动程式撰写模式 ( non event-driven computing model)、 ui (html elements) 无法由程式码直接控制、以及 ui 的状态(view state)无法自动保存, 这些因素造成了jsp(sun企业级应用的首选)的程式码与 ui 混合在一起,错综複杂的 ui/程式码不仅在开发上不容易,也造成日後维护与扩充上的困难。

相较於传统的 client forms 或 client-based web applications 程式撰写模式而言, jsp(sun企业级应用的首选)显然不直觉多了。原因有三,兹並列比较如下:

因素 client forms 纯 jsp(sun企业级应用的首选)
event-driven computing model 你可以藉由撰写事件处理函式 (event handler) 来处理由 gui components所触发的事件。 例如 button 的 onclick 事件或 dropdownlist 的 onselectchanged 事件。 因为jsp(sun企业级应用的首选)是由上到下循序处理 (sequential processing),因此你必须用程式来判断到底使用者按了哪个按钮, 使用者是否改变选定的选单项目等等,然後根据这些判断结果来撰写对应的程式码。
gui compoment 所有 gui compoment 的属性与行为都可以由程式码完全存取与控制, 程式码与 ui是完全分开的。 因为jsp(sun企业级应用的首选)是由上到下循序处理 (sequential processing),因此你必须在适当的jsp(sun企业级应用的首选)档案位置插入程式码, 以改变 output 至的 ui。但这样撰写方式往往造成程式码与 ui 混杂在一起,非常难维护与扩充。
retain view state automatically 无庸置疑,在传统的 client forms 中, gui component 的状态 (view state) 自动保持在最後使用者对它改变的状态。 因为 http 是不保持状态的 (stateless),因此所有的 html element 的状态 (view state )会在 post 回 web server 後就消失。 为了保持最後使用者对 gui compoment 改变的状态 ,你必须要撰写程式。 保持 html element 的状态 (view state )並不容易,不同的 html element 需要用不同的处理方法。 通常,约有25%的程式码单纯为了这件在 client form 中视为理所当然的事。

jsp(sun企业级应用的首选)widget是在 jsp(sun企业级应用的首选) 标準上建置的一套 framework,它的设计目标便是为了让程式设计师可以直觉地方式来开发jsp(sun企业级应用的首选) web 应用,就像是在开发传统的 client form 一样轻鬆简单 。

原文地址:(sun企业级应用的首选)widget/docs/jsp(sun企业级应用的首选)widget_introduction.htm