使用XML配置applet来增强你的web界面
对一般的基于J2EE的系统,用户界面(UI)总不是很健壮,这里我们提供了一个使用Java Plug-in的解决方案:使用applets来解读XML文档中的数据,并按要求显示出它们,XML文档由servlet产生
在标准的J2EE展现层设计中,我们会使用HTML来包装servlet和JSP产生的数据,HTML的优势在于,它易于编写、美观
但是当你需要更复杂的GUI时,html就不能满足要求了,比如使用
标签,你不能在表格中做到滚动、选择某一行、编辑等操作。你不可能做到让他看起来就象一个电子表格,用户可以执行各种复杂的表格操作.还有当你需要一个层次化的树型列表,可以进行折叠、扩展、拖进、拖出、对节点改名或删除等操作,这些HTML都做不到
当然你可以使用HTML 或DHTML来实现实现一些简单表单和树行为操作,比如使用checkbox来实现行选择.而DHTML呢,难于编写和维护,在发布时也会因浏览器的不同而产生错误.很明显Java applet应该是最好的选择,但如何使用它,怎样把它良好的整合到J2EE的结构中呢?
在J2EE的教程中,SUN公司简单的提到在web客户中使用applet,但更多讲述的是servlet和JSP,因为它们不需要任何插件,SUN特别指出了使用JSP来产生XML文档,XML数据是应用于Web serviced的标准的机读数据,这点很重要.
但是在这篇文章中,我们要介绍的是使用applets来嵌入展现层,它需要使用一个由web 组件(JSP或SERVLET)产生的XML文档作为资源文件,这样就不需要你的applet通过RMI/IIOP来访问远程的EJB,而是直接访问本地的XML文档.
展现层数据: 接下来怎么做呢?,首先让我来回想什么是展现层数据(presentation data),presentation data是从你的商业层(或数据层)获取的、需要被处理显示的数据,presentation data包含2个部分,一个是要显示的数据,一个是用于描述GUI组件的结构和状态的数据,例如,我们考虑一下一个层次化的树型列表;这里是它需要用到的一些数据
各节点的名称、节点是否是文件夹、个节点的内容,这些数据多少很象JTree在它的TreeModel所需的数据,你可以把这些数据用XML来表示,如下:
xml version="1.0" encoding="UTF-8"?>
你可以继续为各节点添加内容,比如加上节点的图标、它所代表对象的hyperlink以及它代表的对象类(比如现金或日期)
使用applet 当然光有XML文档没甚么用,它主要是服务于applet的.你可以编写applet来解读XML中的数据,把它们应用到图形界面中,例如刚才的用于表述树型数据的XML文档解析到DefaultMutableTreeNode对象中,来使JTree显示数据,图1 显示了整个过程的sequence视图
Figure 1.
在JSP中可以使用标准的HTML标签
|