服务器端应用为浏览器客户端提供用户界面的方法

文档序号:6366254阅读:189来源:国知局
专利名称:服务器端应用为浏览器客户端提供用户界面的方法
技术领域
本发明涉及电数字数据处理方法中的文本处理方法,特别是涉及为浏览器产生HTML(超文本标记语言)文件的方法,尤其是涉及服务器端应用为浏览器客户端提供HTML文件的方法。
背景技术
运行于Internet(因特网)和/或Intranet(企业内部网)环境的应用程序,通常采用B/S(浏览器服务器)结构,即在服务器上安装应用程序(以下称“服务器端应用”),在用户终端(以下称“客户端”)运行浏览器程序来实现对该应用程序的使用。这就要求服务器端应用为客户端浏览器提供各种各样的用户界面。现有技术中,用户界面通常使用HTML(超文本标记语言)语言来构建,这种方法存在着一些缺陷代码标准化程度低,代码冗余度高,不易复用或重用;用户界面简单,操作性差,不易开发复杂的界面;不易于进行服务器端应用的多语言国际化开发;在浏览器平台间的移植工作量大。

发明内容
本发明的要解决的技术问题在于避免上述现有技术的不足之处而提出一种服务器端应用为浏览器客户端提供HTML文件的方法。
本发明解决上述技术问题采用的技术方案是,提出一种服务器端应用为浏览器客户端提供用户界面的方法,特别是所述服务器端应用采用组件技术,即把用户界面元素封装成组件,把用户对界面元素的操作封装成组件事件,来实现在浏览器上显示用户界面,该应用所执行的步骤包括i.接收浏览器提交的HTTP(超文本传输协议)请求;ii.处理报文生成参列表;iii.从会话中获取当前窗口组件列表;iv.组件处理;v.生成XML(界面描述可扩展标记语言)文件;vi.通过XSL(可扩展标记语言样式单)转换输出HTML(超文本标记语言)文件;所述步骤iv中包括如下子步骤a.判断是否还有未处理的组件,是则进入下一步;否则,处理结束退出;b.判断参数中是否有该待处理组件的信息,是则进入下一步;否则,返回步骤a;c.更新组件数据;d.判断该组件中是否有事件监听器,是则进入下一步;否则,返回步骤a;e.触发组件事件,返回步骤a。
同现有技术相比较,采用本发明方法来构建服务器端应用的用户界面,可以做到代码标准化程度高、界面丰富且操作简单、易于国际化应用,并且在不同浏览器平台间移植方便。


图1为本发明服务器端应用为浏览器客户端提供用户界面的方法的流程图。
图2为图1所示组件处理步骤140的详细流程图。
图3为图2所示触发组件事件200引发的事件处理过程流程图。
图4为把XUS(可扩展标记语言用户截面定义脚本)源文件解释为组件过程流程图。
图5为用本发明方法构建用户界面例一的流程图。
图6为用本发明方法构建用户界面例二的流程图。
图7为用本发明方法构建用户界面例三的流程图。
图8为采用本发明方法构建的用户界面例一示意图。
图9为采用本发明方法构建的用户界面例二示意图。
图10为采用本发明方法构建的用户界面例三示意图。
具体实施例方式
以下结合附图所示之最佳实施例作进一步详述。
本发明服务器端应用为浏览器客户端提供用户界面的方法,特别是该服务器端应用采用组件技术,即把用户界面元素封装成组件,把用户对界面元素的操作封装成组件事件,来实现在浏览器上显示用户界面,该应用所执行的步骤如图1所示,包括i.接收浏览器提交的HTTP(超文本传输协议)请求110;ii.处理报文生成参数列表120;iii.从会话中获取当前窗口组件列表130;iv.组件处理140;v.生成XML(界面描述可扩展标记语言)文件150;vi.通过XSL(可扩展标记语言样式单)转换输出HTML(超文本标记语言)文件160;所述步骤iv如图2所示,包括如下子步骤a.判断是否还有未处理的组件141,是则进入下一步;否则处理结束退出;b.判断参数中是否有该待处理组件的信息142,是则进入下一步;否则返回步骤a;c.更新组件数据143;d.判断该组件中是否有事件监听器144,是则进入下一步;否则返回步骤a;e.触发组件事件200,返回步骤a。
本发明服务器端应用为浏览器客户端提供用户界面的方法,具体的组件情况说明如下Component是所有组件的基类,定义了组件的基本方法。
方法


事件

ComponentContainer是所有组件容器的基类,定义了组件容器的基本方法。组件容器是可以包含其他组件的组件,最常用的就是各种Layout,Panel,TabSheet和Window。
方法

事件

AbstractField是所有输入域组件的基类,WebUI中的输入域组件包括Button,DateField,Select,TextField,Table和Tree。
方法

事件

TextField文字输入框组件用于让用户输入字符串。TextField有单行和多行的模式。通常,TextField组件配合Validator使用用于检验用户输入信息的有效性。
方法

事件

DataField组件让用户输入日期和时间。
方法

事件

Button组件用于显示一个按钮。
方法

事件

Label组件用于显示一段文本。可以设置Label为XHTML内容模式来显示一段XHTML代码(XHTML必须符合XML语法,否则会产生错误)。
方法


事件

Link组件用于显示一个链接,可以连接到一个外部资源(例如网站)。
方法

事件

Select组件用于让用户来选择一个选项。
方法


事件

Table组件用于显示数据记录列表。
方法

事件

Tree组件用于显示一个树型视图。
方法

事件

MainMenu用于显示一个应用的主菜单。可以用CIResource工具类来从一个xml资源文件中载入菜单。
方法

事件

γ平衡=红色光密度γ值/绿色光密度γ值γ平衡变化率(%)=(贮藏后的γ平衡/贮藏前的γ平衡-1)×100处理条件步骤 处理时间处理温度彩色显影 45秒37.5漂白-定影 45秒37.0稳定 30秒×3槽 37.0干燥 60秒65漂白-定影溶液的制备方法采用通用的溶解方法,使用柯尼卡彩色QA相纸K-20P2R-03(柯尼卡公司产品)的漂白-定影补充剂来制备。
稳定溶液的制备方法采用通用的溶解方法,使用柯尼卡彩色QA相纸K-P3R-01(柯尼卡公司产品)的超级稳定剂补充剂来制备。
表1

方法

GridLayout布局是将组件放置在网格中的布局。每个组件可以占据布局中的一个或多个连续的网格。
方法;

AlignmentLayout布局可以设置宽度,高度和对其方式,通常嵌套在其他的布局中使用。
方法

Panel组件拥有标题和边框,通常用于组合一系列功能相关的组件。
TabSheet用于显示一个属性页。
方法

事件

Embedded组件用于在窗口中嵌入图片或对象。
方法

事件

Upload组件用于上传文件。
方法

事件

HtmlSegment用于在窗口中直接输出HTML代码片断。
方法

事件

以下通过几个具体的界面生成过程,对本发明方法的组件技术予以进一步说明,这些过程可以应用于各种基于Java Servlet(服务器端小程序)技术的B/S结构应用程序开发。
例一界面效果如图8所示,其生成过程如图5所示,包括的步骤有创建日期输入域组件;添加日期输入域组件事件监听器;创建标签组件;获取用户选择的日期;触发日期输入域组件事件;设置标签组件显示用户所选择的日期。
例二界面效果如图9所示,其生成过程如图6所示,包括的步骤有获取应用资源;从资源中载入菜单;从资源中工具条;创建标签组件;获取用户选择的菜单或工具条;触发命令事件;设置标签组件显示用户所选择的命令。
例三界面效果如图10所示,其生成过程如图7所示,包括的步骤有创建网页编辑器组件;创建按钮组件;添加按钮组件事件监听器;创建HTML片段组件;获取用户对网页的设计和对按钮的点击;触发按钮组件事件;设置HTML片段组件,显示用户所设计的网页。
在本发明方法的组件处理过程中产生的触发组件事件,会引发服务器端应用进入组件处理,该过程所述应用执行如下步骤a.判断事件处理过程是否用BLS(业务逻辑脚本)编写,是则进入下一步;否则,调用用户的事件处理过程,结束退出;b.调用脚本系统的事件处理过程;c.判断该事件的脚本是否在脚本系统中注册,是则进入下一步;否则,结束退出;d.调用脚本;e.判断是否有异常产生,是则进入下一步,否则,结束退出;g.处理异常,结束退出;本发明方法可以通过构建一个解释器来利用XUS(可扩展标记语言用户截面定义脚本)源文件解释生成有关的组件,这样用户在设计组件时,就只需编写XUS文件,大大简化了用户界面的生成过程,在该解释过程中,解释器所执行的步骤包括a.解析源文件,构造元素树;b.判断是否有未处理的元素,是则进入下一步;否则,添加创建的组件到脚本变量环境,处理结束退出;c.根据元素所属的类型,创建该类型,然后进入下一步;即是资源,则创建资源;是变量,则创建变量;是函数,则创建函数;是脚本片段,则创建脚本片段;如果是界面对象,处理完该对象进入下一步,所述界面对象的处理包括步骤1.断是否有未处理的子元素,是则进入下一步,否则处理结束,退出;2.创建子元素对应的组件,返回步骤1;d.保存创建的对象到列表,返回步骤b。
本发明方法,可构建一用户界面风格管理程序模块,其功能是从各种数据源载入用户界面风格配方,该程序模块应用于通过XSL(可扩展标记语言样式单)转换输出HTML(超文本标记语言)文件的过程中,以生成应用的不同风格操作界面。这样,无需修改任何应用程序的情况下1.可以生成不同风格的操作界面,例如Windows风格操作界面,Mac风格操作界面等。
2.可以生成对于不同终端的支持,除了可以支持IE,Netscape/Mozilla等PC浏览器外,还可以通过特定的XSL生成支持WAP手机的WML用户界面。
本发明方法,使用一种XUS(XML User interface Script)XML用户界面脚本语言,可以通过编写一个XML文件来制作出B/S结构应用的用户界面。使用支持XUS语言的集成开发环境,编程者就能够可视化设计用户界面,提高开发效率。使用XUS来开发用户界面还有一个非常显著的优势在于可以在应用发布后仅修改应用的XUS资源,而无需重新编写程序就能够完成对用户界面的重新定制。
本发明方法,使用一种BLS(业务逻辑脚本)语言。BLS语言是一种类Java语法的脚本语言,可以用于在XUS文件中来处理用户操作了界面组件后产生的事件。使用BLS语言,可以实现在应用的发布后通过修改脚本来订制应用的业务逻辑而不必重新编译源程序。BLS和XUS一起为应用系统的灵活定制提供了一种非常好的机制。
采用本发明方法,能够使软件开发分工更趋于明确和合理1.精通技术细节的高级程序员开发各种界面组件。
2.熟悉业务逻辑的程序员选取界面组件来处理业务逻辑,而不必了解界面组件内部实现的复杂技术。
3.美术人员独立编写Theme(界面风格配方),而不会涉及到任何程序。
采用本发明方法,能够大幅度提高基于Java的B/S结构应用程序用户界面的开发效率和质量。
权利要求
1.一种“服务器端应用”为浏览器客户端提供用户界面的方法,其特征在于所述服务器端应用采用组件技术,即把用户界面元素封装成组件,把用户对界面元素的操作封装成组件事件,来实现在浏览器上显示用户界面,该服务器端应用所执行的步骤包括i.接收浏览器提交的HTTP(超文本传输协议)请求;ii.处理报文生成参列表;iii.从会话中获取当前窗口组件列表;iv.组件处理;v.生成XML(界面描述可扩展标记语言)文件;vi.通过XSL(可扩展标记语言样式单)转换输出HTML(超文本标记语言)文件;所述步骤iv中包括如下子步骤a.判断是否还有未处理的组件,是则进入下一步;否则,处理结束退出;b.判断参数中是否有该待处理组件的信息,是则进入下一步;否则,返回步骤a;c.更新组件数据;d.判断该组件中是否有事件监听器,是则进入下一步;否则,返回步骤a;e.触发组件事件,返回步骤a。
2.如权利要求1所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所有组件包括一基类,该基类定义了组件的基本方法,包括当组件加入到应用中被调用的方法;当组件从应用中移除时被调用的方法;获取组件所在的应用;获取组件所在的窗口;获取组件的标题;获取组件的图标;获取组件的风格;设置组件的风格;获取组件的用户数据;判断组件是否为禁用模式;设置组件的禁用模式;判断组件是否为立即模式;判断组件是否为只读模式;设置组件的只读模式;判断组件是否可见;设置组件是否可见。
3.如权利要求2所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所有组件容器,指可以包含其它组件的组件,包括一基类,该基类定义了组件容器的基本方法,包括向容器中添加一个新的组件;把其他组件容器中的组件移动到该容器中;删除组件容器中的所有组件删除组件容器中的指定组件;当容器中添加新的组件触发的事件;当容器中删除组件触发的事件。
4.如权利要求2所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所有输入域组件包括一基类,该基类定义了输入域组件的基本方法,包括添加一个有效指示交验器到该组件,该交验器可以用于校验用户输入的合法性;获取该组件所有的有效指示交验器;删除一个组件的有效指示交验器;设置当前组件为输入焦点;获取组件的拥有的数据源;设置组件的拥有的数据源;获取组件的值的类型;获取组件的值;设置组件的值;判断组件的值是否被修改过;判断用户的输入是否有效;组件只读状态转换触发的事件;组件值改变触发的事件。
5.如权利要求1至4中任一项所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所述组件,包括文字输入框,用于让用户输入字符串;日期,让用户输入日期和时间;按钮,用于显示一个按钮;标签,用于显示一段文本;链接,用于显示一个链接,可以连接到一个外部资源;选择,用于让用户来选择一个选项;表格,用于显示数据记录列表;树,用于显示一个树型视图;主菜单,用于显示一个应用的主菜单;工具条,用于显示一个工具条;页面编辑器,用于在窗口中使用一个所见即所得的HTML编辑器;日历,用于显示一个日程安排的日历;排序布局,是将组件横向或纵向依次排列的布局;网格布局,是将组件放置在网格中的布局;对齐布局,可以设置宽度,高度和对齐方式,通常嵌套在其他的布局中使用;面板,拥有标题和边框,通常用于组合一系列功能相关的组件;表单,用于显示一个属性页;嵌入,用于在窗口中嵌入图片或对象;上传,用于上传文件;HTML代码片断,用于在窗口中直接输出HTML代码片断。
6.如权利要求1所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所述子步骤e中的触发组件事件,引发服务器端应用执行如下步骤a.判断事件处理过程是否用BLS(业务逻辑脚本)编写,是则进入下一步;否则,调用用户的事件处理过程,结束退出;b.调用脚本系统的事件处理过程;c.判断该事件的脚本是否在脚本系统中注册,是则进入下一步;否则,结束退出;d.调用脚本;e.判断是否有异常产生,是则进入下一步,否则,结束退出;f.处理异常,结束退出;
7.如权利要求1所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于可构建一个解释器,用于把XUS(可扩展标记语言用户截面定义脚本)源文件解释为所述的组件,该解释器所执行的步骤包括a.解析源文件,构造元素树;b.判断是否有未处理的元素,是则进入下一步;否则,添加创建的组件到脚本变量环境,处理结束退出;c.根据元素所属的类型,创建该类型,然后进入下一步;即是资源,则创建资源;是变量,则创建变量;是函数,则创建函数;是脚本片段,则创建脚本片段;如果是界面对象,处理完该对象进入下一步,所述界面对象的处理包括步骤1.判断是否有未处理的子元素,是则进入下一步,否则处理结束,退出;2.创建子元素对应的组件,返回步骤1;d.保存创建的对象到列表,返回步骤b。
8.如权利要求1所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于可构建用户界面风格管理程序模块,其功能是从各种数据源载入用户界面风格配方,该程序模块应用在所述步骤vi中,以生成应用的不同风格操作界面。
9.如权利要求6所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所述BLS是一种类Java语法的脚本,用于在XUS文件中处理用户界面组件后产生的事件,可以实现服务器端应用发布后不必重新编译源程序而更改用户界面。
10.如权利要求1所述服务器端应用为浏览器客户端提供用户界面的方法,其特征在于所述服务器端应用基于Java。
全文摘要
一种“服务器端应用”为浏览器客户端提供用户界面的方法,特别是该服务器端应用采用组件技术,即把用户界面元素封装成组件,把用户对界面元素的操作封装成组件事件,来实现在浏览器上显示用户界面,该应用所执行的步骤包括i.接收浏览器提交的HTTP请求;ii.处理报文生成参列表;iii.从会话中获取当前窗口组件列表;iv.组件处理;v.生成XML文件;vi.通过XSL转换输出HTML文件。采用所述方法来构建基于Java的应用的用户界面,可以做到代码标准化程度高、界面丰富且操作简单、易于国际化应用,并且在不同浏览器平台间移植方便。
文档编号G06F9/45GK1487446SQ0313961
公开日2004年4月7日 申请日期2003年6月24日 优先权日2003年6月24日
发明者黄凯, 石磊, 黄 凯 申请人:深圳市华磊网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1