新一代WEB用户界面构建框架实例剖析

王朝other·作者佚名  2008-05-19
宽屏版  字体: |||超大  

当今的信息管理软件在逐渐的向WEB上发展,但WEB中致命的缺陷就是很难构建理想的用户操作界面,即使用SCRIPT写好一些控件也很难重用,更不用说是采用面向对象的设计方法来设计,这就增加了大型系统的开发与维护的难度,所以现在的软件公司还是采用C/S模式进行开发,这样用户的操作界面就可以采用第三方控件生成,这样节省了开发周期,同样难度较小,大部分的时间就用在了需求分析与业务建模中,而且后期维护也很容易,因为代码量越小,出错的机会就越少。

但是新的技术终就会代替旧的技术,这就需要有人敢闯敢干,不怕失败,努力进取。随着WEB框架的不断更新,WEB开发也在不断的完善,STRUTS,JSF等等优秀的框架得到很多JAVA爱好的者的认可,但是在这些框架中还是没有根本的解决用户的操作界面,STRUTS还是采用TAGLIB的方式来实现基本的控件(也有一些扩展控件),这样一来用户界面的开发只能是一些HTML标记加上一些扩展标记来实现,增加开发的复杂度,以前是在JSP中加入JAVA代码,现在加入扩展标记,基本上没有多大进步。

以上是对WEB开发中的不足简单的介绍了一下,这只是我个人的见解,下面来介绍一下我开发的WEBFORM技术,类结构如图

WEBFORM主要采用JDOM来构建HTML标记树,先通过HTMLObject类来构建一般的HTML对象,然后对GenericExtendObject来构建扩展对象,主要是一些常用的控件,例如菜单,工具条,树等一等比例控件,扩展控件中的HTML基本对象的属性通过PropertiesAdder类来加载webform-infomatio.xml文件来添加,然后在Struts中的Action中调用UIBuilder的实现类来生成用户界面,再通过response.getWriter()输出HTML标记,如果用户的界面比较复杂或者担心速度太慢也可以采用扩展标记,只要通过pageContext.getOut()输出标记就可以实现,组合好这些基本的HTML标记后,还会引用到一些javascript,css,这些会根据控件所涉及的JS,CSS来自动添加,下面是两个例子的代码。

//Struts的Action中

public class ResourceAction extends DispatchAction{

public ActionForward open(

ActionMapping mapping,

ActionForm form,

HttpServletRequest request,

HttpServletResponse response)

throws Exception {

Window window = new Window();

Lable lable = new Lable();

lable.addText("Hello World");

window.addChildren(lable);

window.printHTMLTag(response.getWriter());

return mapping;

}

}

客户端输出为:

?

?

??? Hello World

?

?

这种方式不同与ECHO项目,ECHO大量的采用了Session,Cookie这样服务器的性能会下降,但是JWF则没有采用,它只是组合HTML标记,其它的则完全由JS,CSS来完成,在开发JWF组件的时候,首先要用JS实现,然后尽量的简化HTML标记,最后通过封装成JAVA类,这样完全可以实现重用。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有