新一代WEB用户界面构建框架

新一代WEB用户界面构建框架<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

JWF(java web form)技术

王永和

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

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

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

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

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

//StrutsAction

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类,这样完全可以实现重用。这只是简单的介绍了一下,如有意请与我联系。

阅读更多
个人分类: java
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭