Struts Web开发框架WebPage3
WebPage3是基于组件的、可视化的、轻量级的Web层开发
框架。WebPage3开放组件设计接口,可以
自由开发能在WebPage3中使用的组件,而且开发组件非常简单。WebPage3能大大提高Web层的开发速度。
有人戏称WebPage3为“图形化的Struts”,也有人说是简化版的Struts + 图形化的Tapestry。
WebPage3基于MVC模式,重点解决View的部分,达到可以可视化开发和最大限度的复用。
对整个Web层开发提供全方位的开发帮助,做到:
(1)Web层开发可视化,简单化 (2)Web层开发组件化,重用化 (3)Web层开发通用化,通用功能的封装 (4)开放式框架,结合和集成更多的功能
从而构建简单易用、功能强大、可视化开发、最大限度重用的Web层开发平台,大大提升Web层开发的效率。
WebPage3基于标准技术,有极好的稳定性和可扩展性。主要使用:Java、Jsp、Servlet、Html、Javascript、Xml等技术,
不使用TagLib技术,简单易用。
特色功能
1:基于组件的Web开发框架 2:可视化开发,所见即所得 3:页面和逻辑完全分离 4:开放组件接口,开发新组件非常简单 5:组件基于Java,功能更强大,运行更稳定 6:已有大量常用组件 7:同时支持?C客户端和富客户端 8:支持无刷新数据交换 9:自动生成基本主界面、基本子表界面、基本查询界面、基本列表界面 10:支持多界面组合
技术特点
1:完全B/S结构,简单易用 2:采用MVC模式构建,界面操作和处理逻辑相分离 3:动态的数据类型解析技术 4:动态的界面组装技术 5:页面及时生成技术 6:功能模板动态实例化技术
WebPage3对开发提供哪些帮助
WebPage3对整个Web层开发提供全方位的开发帮助,具体的开发过程请参见《如何选择Web开发框架》 | 1:通过WebPage3的界面设计工具,定义好数据结构后,WebPage3提供自动生成初始化页面。 | 2:然后可以可视化的选择组件,界面的具体表现形式由组件自行提供,WebPage3还提供可视化的布局。 | 3:页面基本表现形式设计好过后,就要具体设计每个组件的属性,WebPage3提供可视化的配置, | 提供访问其他组件的方式。 | 4:对组件数据来源,提供多种方式,目前有:从数据库中取值,从request的参数中取值,从request的 | 属性中取值,从session中取值,从程序运行中取值。 | 5:页面上的权限控制,WebPage3提供可视化的配置,可以指定组件是否显示、是否可修改、是否 | 只读模式、是否被删除等等 | 6:页面取值和页面权限控制也提供编程式控制,可以在程序里面动态的控制页面组件的值,也可以动态 | 控制组件的权限,如:可编辑或是不可编辑。 | 7:页面提交或是页面事件触发,提供客户端事件处理,提供客户端数据检测等的客户端控制 | 8:数据提交到后台,WebPage3提供把数据从request里面封装到任意的数据model的工具,同时根据请求 | 的ActionCommand来选择合适的Action响应。 | 9:逻辑层处理完成后,WebPage3提供统一的控制方式,把数据传递到客户端,并根据逻辑数据,进行 | 客户端事件响应和新的页面展示 | 10:WebPage3还提供预实现的增删改查等功能,包括主子表的操作等,可以辅助进行快速开发。 | 11:WebPage3对应用中需要提示的例外信息,或是操作提示等,提供统一的消息服务,可以通过配置 | 消息文件来改变这些信息。 | 12:WebPage提供通用的数据操作功能,再加上可视化的开发方式,使得WebPage可以从讨论用户需求时 | 开始使用。一边跟用户讨论,一边进行基本页面开发,可以更深入的理解用户需求。由于用户能够直观 | 的看到软件界面,更容易确定和准确提出真实的需求,从而大大减少后期的需求变更。我们的使用经验 | 是需求讨论完毕,基本的程序功能界面就都有了,而且是经过用户确认的。 |
| |
WebPage3.0的定位、理念、目标
一:WebPage3.0的定位 | 开放的、轻量级、基于组件的Web开发框架 | 解决目前Web开发,尤其是功能页面开发中,出现的问题。目前Web开发方面的问题主要集中在: | 开发工作量大,重复劳动多,开发效率低下、维护困难、页面和逻辑相混杂等。 | 二:WebPage3.0的理念 | 让Web开发更简单、更快捷、更高效 | 三:WebPage3.0的目标 | 成为Web开发框架的主流,为更多的Web应用提供简单、高效的解决方案。 | 四:WebPage3设计的特点 | 1:WebPage3基于MVC模式,但又不死板的报着MVC不放,通过改良和辅助工具类,提供更灵活的架构 | 和更多的开发帮助。 | 2:完全基于组件,开放式框架,框架本身没有任何组件,所有的组件都是按照组件定义的规范来开 | 发,然后加入到框架中使用。这样就使得组件功能可以随意的扩展,而且对组件所使用的技术没有多少 | 限制,所有现在Web层能用的技术都可以在组件里面使用。也就是WebPage3框架找组件,然后组件自运 | 行。这使得WebPage3具有更强的生命力,可以兼容已有的技术积累,也能使用最新的开发技术。 | 3:WebPage3对Web开发的客户端和服务端都提供相应的帮助,全方位的为Web层开发的各个环节 | 提供帮助 | 4:关于可视化设计器,目前是基于IE来开发的,它只是用来加快开发的速度。事实上,完全可以 | 手工的配置WebPage3框架所需要的资源,当然,也可以开发Swing版的IDE。 |
WebPage3.0与JSF、TapeStry的异同和优势
基于组件的Web开发框架,是下一代Web开发框架的主流,目前国际上有名的基于组件的Web开发框架 | 有JSF和TapeStry。 | WebPage3.0也是基于组件的可视化Web开发框架,所以这里重点比较一下与JSF和TapeStry的异同, | 主要从技术实现上面进行比较: |
比较项 | JSF | TapeStry4 | WebPage3.0 | 结论 | 页面开发 | TagLib标签技术 | Html+TapeStry属性 | 纯粹的Html | WebPage3.0更简单,更通用,更容易与美工等结合 | Java编程模型 | 在JSF 应用中没有页面定义文件,它只有一个全局的配置文件,命名为:faces-config.xml,里面通常都定义了一堆"managed beans"。这些managed beans都是带有属性和事件监听器的定义良好的java bean。在faces-config.xml中定义的后端bean都有三个参数:一个标识符、一个java类名、一个bean的生存周期,生存周期可以 是request、session、application中的一种。 | 主要是三个部分:用于显示的页面模板(一般就是html),带有相关属性和方法的java类,用于定义页面模板上的控制元素和java类的关系的页面定义文件 | 分做服务端和客户端,在服务端主要是三个部分:用于显示的页面模板(纯粹的Html,可视化开发,不需要手工写)、页面数据模型定义(自动生成,不需要手工写)、页面事件响应Action类(如果使用自动数据处理,不需要写。否则相当于Struts中的Action,自行写处理代码) 在客户端:每个页面对应的script文件 | WebPage3.0的编程模型更全面,考虑到Web开发的特殊性和实现的合理性,全面考虑,提供客户端模型和服务端模型。 在服务端模型结合了多种框架的优点,同时还提供了一些通用的功能实现,为快速开发提供帮助。 | 请求生命周期控制 | 单一的生命周期模型 | 生命周期依赖于调用的引擎服务,同时可以自己定制生命周期 | 同TapeStry4 | WebPage3和TapeStry4的生命周期控制更灵活 | 页面导航 | 必须同时利用代码和配置文件来控制页面跳转流程 | 页面跳转逻辑定义在代码中,而不是写在配置文件中 | 页面跳转逻辑定义在页面组件的属性中或者在代码中 | 页面跳转逻辑是跟逻辑结果相关的,WebPage3的实现方式能更好的兼顾配置和代码定义的实现 | 易用性 | 十分困难 | 困难 | 十分简单 | WebPage3.0的易用性是最好的 | 学习曲线 | 高 | 较高 | 十分低 | WebPage3.0只需要基本的Java开发和基本的Javascript和基本的Html技术即可。一个Web开发人员1-2天内即可以掌握 | 与其它技术的包容性(如结合AJAX) | 十分困难 | 困难 | 十分简单 | WebPage3.0是一个纯粹的组件框架,对组件的技术实现限定非常小,通常只需要实现一个抽象父类即可,其它技术任意加 | 对已有资源的利用上(如:每个公司在多年的开发中已经有了很多的实现积累,想要把他们包装成组件进行使用) | 没有好办法,基本上需要重新按照JSF的框架重新做 | 没有好办法,基本上需要重新按照TapeStry的框架重新做 | 非常容易,可以很简单的包装成一个可在WebPage3.0中使用的组件 | WebPage3.0充分考虑到与已有实现的结合,能够有效保护已有的知识积累 | 技术支持 | 困难 | 十分困难 | 容易 | WebPage3.0的开发团队可以随时为您提供技术指导、技术资源、技术培训、技术服务 |
|
| |
|
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/374079/viewspace-131249/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/374079/viewspace-131249/