维普资讯 http://www.cqvip.com 计算机时代2008年第10期 ・61・ We b应用程序用户接口设计和应用 秦学礼 (浙江育英职业技术学院信息技术系,浙江杭 ’H 310018) 摘要:阐述了Web应用程序的用户接口技术和实现方法,给出了应用的实例。 关键词:Web浏览器;Web应用程序;单向用户接口;双向用户接口 0引言 创建辅助窗口主要是通过Web浏览器文档对象模型 Web应用程序中的用户接口是指用户的操作界面。实际应 (DOM)的Windows对象提供的Open方法来实现的。以IE为 用中,用户是通过Web浏览器访问Web应用程序。根据Web 例,Windows对象的Open方法的语法如下: 应用程序与用户操作之间的关系,用户接口分为两大类:单向 Window.open(url,windowName,windowFeatures,width,height) 用户接口与双向用户接口。单向用户接口主要包括辅助窗口、 其中,url用于指定辅助窗口中显示的页面;windowName 层和提示窗口,双向用户接VI主要包括对话框和表单。 表示辅助窗口的名称;windowFeatures用于设置辅助窗口的特 下一代Web应用程序是以动态、互动、开放和高度灵活为特 征,比如显示位置、是否出现滚动条等;width和height表示窗 征的,不仅超越了经典的web应用程序的功能,而且还超过了桌 口的宽度和高度。 面应用程序的功能。web应用程序或者互联网应用程序具有高 也可以用Javascript(VBscript)脚本创建辅助窗口,如使用 度的互动性,同桌面软件一样要有容易操作的用户界面。 以下的脚本代码实现创建辅助窗口。 此研究和设计有效的用户接口对Web应用程序设计是 function openSc ript(u rI,width,height) 非常有意义的。 (var Win=window.open(url,"openScript",'width=’+width+, height=’+height+,resizable=l,scrollbars=yes,menubar=no, 1单向用户接口 status=yes’): 通过单向用户接口,Web应用程序只能将信息传递给用 ) 户,不理会用户的响应。Web应用程序中典型的单向用户接口 代码中调用打开窗口的语句: 包括辅助窗口、层和提示窗口。 jaVasc pt:openScript(’buy.asp’,460,300) 1.1辅助窗口设计 buy.asp是生成辅助窗口页面的ASP程序(运行在服务器 辅助窗口是指页面中出现的其它Web浏览器窗口。辅助 端),460,300是窗口的宽度和高度。 窗口一般用于显示特定提示信息,比如紧急通知、注意事项以 buy.asp程序中显示提示信息的语句片段: 及宣传广告等内容,它广泛应用于各种Web应用程序中。图l if session(’’user name”、=…。then 是一个Web应用程序(电子商务系统)中的信息提示窗口。 response.write“<br>1.你尚未登录!请登录后再订购本站商品l>” response.write”<br>2.第一次来本站,请先注册会员(免费)!<br>” end if if trim(request(”hw_id”))_I…then response.write”没有此货物” response end end if 在ASP程序设计时,为了减轻服务器的负担,也可以使用 VBScript脚本运行在浏览器的MsgBox0函数创建辅助窗口,如 ●◆●◆◆◆I◆◆◆I◆◆◆ II●●●Ili◆◆◆II◆◆◆I◆●◆lIl◆◆◆◆◆◆◆◆●◆◆◆◆●●●◆lm◆◆◆●●● 5结束语 参考文献: 招聘网站现已投入应用,运行情况良好,具有高并发和高 【1l毛立,须文波.基于RUP的J2EE应用建模研究【J】计算机工程与设 负载性,能很好满足大型企事业单位人事招聘管理和决策需 计.2007.2 【2】周莉,陆暑羹,魏建香分布式人口信息系统得架构及实统[J】.计算机应 要。通过灵活的系统设置,系统能适应可能发生的各种复杂情 用.2007.2. 况,具有灵活的应变能力和适用性。系统通用性强,易于维护, 【3】http://www.service—architecture.com/web—services/articles/ser一 并且很容易进行扩展。 n。 d_ №cture—soa—d。 h m ,20o5・ 维普资讯 http://www.cqvip.com ・62・ Computer Era No.1 0 2008 下面的代码段。 <SCRIPT LANGUAGE=。’VBScript”> <!一MsgBox”你尚未登录!请登录后再订购本站商品”. vbokcancel一> </SCRlPT> 这段代码在客户端运行,其生成的窗口如图2所示。 傣 圜l—豳 黪 j黼 1 蠹蠢 厦匿 ;。.叠羞 蠢‘ . 羞 囊 。i薹耋 。j 图2 MsgBoxO函数创建辅助窗口 辅助窗口设计主要包括以下基本步骤: (1)设计辅助窗口的创建时机,通常采用“事件驱动”机制。 (2)设计辅助窗口的展现方式,例如弹出,逐渐移入屏幕或 者弹出后逐渐消失等。 (3)设计辅助窗口的特征和内容。 借助辅助窗口,可以在不改变Web应用程序原有结构的 基础上及时向用户传递新的信息,为Web应用程序设计带来 了很大的灵活性。但辅助窗口也有局限性。首先辅助窗口是相 互的窗口,无法实现窗口嵌套;其次,虽然可以控制辅助窗 口的外部特征,但是辅助窗口始终具有窗口的一些基本特征如 边框、标题栏等。 辅助窗口的创建时机一般用“事件驱动”来控制,一旦发生 某个具体事件,就创建辅助窗口,ASP(ASP.NET)辅助窗口常用 的事件参看表l。 表l ASP(ASP.NET)辅助窗口常用的事件 事件类型 事件名称 功能说明 onLoad 浏览器打开页面时触发 系统事件 onUnload 浏览器关闭页面时触发 oilClick 鼠标单击对象时触发 鼠标事件 onMouseOver 鼠标移至对象上方时触发 键盘事件 onKevPress 按下某一按键时触发 1_2滚动的辅助窗口 (1)静态滚动的辅助窗口 静态滚动的辅助窗口显示的滚动信息是固定的,不能随用 户的需求和特定的需要而改变,要修改则要修改页面程序。页 面的滚动字幕大多是使用这类技术实现的,如下面的程序段实 现了一个向上滚动的字幕。 <marquee direction=’’uD” 欢迎光临一本站!请大家多提您宝贵的意见! </marquee> (2)动态滚动的辅助窗口 动态滚动的辅助窗口显示的滚动信息不是固定不变的,而 是根据用户的需求和页面的状态而变化。实现动态滚动信息最 有力的支持离不开数据库技术。下面的程序片断实现了动态向 上滚动字幕。 <td height=”1 8”class=。’zi2”width=’’1 86”> <marquee behavior=loop direction=up id=news onMouseOut=start() onMouseOver=stop()scrollamount=l scrolldelay=30 style=”FONT—WEIGHT:normal;HEIGHT:1 30px;LEFT:5px; MARGIN—LEFT:1 px;TEXT—ALIGN:left;TOP:1 px;WIDTH: 170px”> <% sql=”select msg from pub order by id desc” ’从数据表pub中取出信息 rs.open sql,conn,3,3 =rs(”msg”) rs.close set rsl=nothing %> </marquee></td> 程序中,<marquee>的属性behavior=loop实现了循环显 示,onMouseOver-=stop0表示鼠标停留在滚动的字幕时停止滚 动,onMouseOut=start0表示鼠标离开滚动的字幕时开始滚动; ASP(ASP.NET)的代码部分实现了从数据表中取出信息并显示 在页面上。 采用这样的技术可以实现远程维护,及时更新滚动信息而 不必修改页面程序。 2双向用户接口 双向用户接口与单向用户接口不同,通过双向接口用户不 仅可以接受Web应用程序发出的信息,而且也可以向Web应 用程序传递自己的信息。也就是说,双向接口可以为Web应用 程序增加“交互性”。Web应用程序中典型的双向用户接口包括 对话框和表单(Form)。 (1)对话框设计 对话框主要用于在客户端提供与用户的交互界面。常见的 对话框主要包括确认对话框和提示对话框。在Web浏览器中, 确认对话框可以用Window对象的confn-m方法创建,提示对 话框则可以用Prompt方法创建。如果使用VBSc t,还可以用 inPutbox函数来创建提示对话框。 (2)表单设计 表单是Web应用程序中最常用的双向用户接口,也是最 重要的用户接口。通过表单,用户不仅可以向服务器提交一些 简单文本数据,而且还可以提交图片、文件等大量数据信息。处 理并响应表单输入的数据正是Web服务端程序最主要的任务 之一。 HTML提供了<Form>标记用于创建表单。表单由一系列 的表单域构成,每一种表单域为用户提供输入信息的一种途 径。掌握HTML表单设计标记是表单设计的基础。 表单没计主要包括以下几个基本步骤: ①创建表单,指定表单编码方法、提交方法以及表单数据 处理程序。 维普资讯 http://www.cqvip.com 计算机时代2008年第lO期 ②没计表单域。 ③编写表单验证程序。 ④编写表单数据处理程序。 表单编码方法由<FORM>标记的ENCTYPE属性指定, 表单的默认编码方法为application/x—WWW—form—urlencoded, ・63・ 用,其基本特点是表单中的某一域的内容来源于数据库中的 字段。 基于数据库的动态表单的设计主要包括以下关键步骤: ①设计数据库,没定表单域对应的字段。 ②查询数据库,返回相应的记录集。 ③将返回的记录集赋予某一表单字段。 ④将表单返回浏览器并显示。 (2)基于用户差异的动态表单 基于用户差异的动态表单是指服务器根据用户身份、权 即URL编码。如果表单包含文件域或者图像域,则必须使用 multipartform—data编码方法。表单提交方法主要有GET和 POST。表单数据处理程序是指收集处理表单数据的服务器程 序,它由Action属性指定。使用asp技术定义表单的语法格式 如下: <form name=”form 1..method=”post”action=”product asp”> 参数:name是表单的名称,method是表单提交方法(有 GET和POST二种),action是指收集处理表单数据的服务器程 序,product.asp是一个运行在服务器端的ASP程序。 3动态表单 动态表单是指由Web服务器动态创建的表单。动态表单 在Web应用程序中具有十分重要的作用,它是Web服务器与 用户能够进行多重“会话”的基础。 先举一个例子来说明动态表单的作用。在某一电子商务系 统中,用户首先通过一张普通表单,向服务器提供基本的个人 需求信息,服务器根据用户提交的信息向用户发送特定的订购 表单,用户填写该表单后再提交给服务器,服务器处理用户的 订购信息后返回处理结果,整个过程结束。在这一过程中,用户 与服务器进行了两次会话,其中“汀购表单”就是由服务器产生 的动态表单。该表单事先在服务器中并不存在,它是根据用户 的需求即时产生的,而且用户输入的信息不同,产生的订购表 单也不同。如图3是某电子商务网站根据用户需求动态生成的 购物车表单。 ■ ■lⅢ^1,㈣ ——g嚣i蔑蕊甄—— 溺—疆爨掰噩妻-匿蕊戳甄 _ 鬻i t ‘ j 1 200元 1 v l i 《l 誓查看购物车l 滴空购钫车 崆# 每付款 ■戮■■翱高强戳援潮匿 瓣- t ■■嘲B穗露蕊一~一掘糊■ 瞄gl ;目_ 0一Li:出?l鳓书 1雏茏线 850元 l 85。戈i 26山地 300 l s∞元l j捌黼l 总计 、 J 图3动态生成的购物车表单 服务器创建动态表单可以分为两类:基于数据库的动态表 单和基于用户差异的动态表单。 (1)基奇数据库的动态表单 基于数据库的动态表单在Web应用程序中有广泛的应 限的不同而创建不同的表单。比如,具有权限A的用户登录 后,浏览器中出现的表单就为Form A,而具有权限B的用户 登录后,浏览器中出现的表单就为Form B。这种分类处理的 思想不仅为用户操作带来了方便,而且也有助于提高系统的 安全性能。因为,具有权限B的用户不仅不能操作自己权限之 外的表单项目,而且连其他权限用户能够操作什么项目也不 知道。 基于用户差异的动态表单设计主要包括以下关键步骤: ①确定用户分类标准。 ②确定表单分类创建规则。 ③获取用户身份。 ④根据用户的具体身份创建相应的表单。 ⑤将表单发送到用户端的浏览器。 4用户接口设计原则 无论是单向用户接口还是双向用户接口,其主要用途都是 实现Web应用程序与用户之间的互动交流。因此,用户接口设 计必须遵循以下原则: (1)功能明确 用户接口设计的第一步就是确定接口在信息传递、用户操 作控制等方面的具体功能,然后再选择正确的接口类型及其实 现方案。 (2)操作简单 用户接口设计必须考虑用户的操作习惯。比如,如果需要 对用户的操作进行特定的约束,那么就必须为用户提供明确的 操作说明。 (3)健壮性强 用户接口的健壮性有两层含义:第一,设计的用户接口要 能够适应不同客户端环境,比如不同的Web浏览器软件;第 二,通过用户接口收集的数据必须可靠、有效、能够处理,并且 不会对服务器造成安全『口J题。 参考文献: 【1】秦学礼,邓松如Web应用技术体系结构和研究动向【Jj.计算机时代, 2006.5 [2】秦学礼,邓松如Web应用的发展及研究动向【J】数字化工,2004 11. [3】秦学礼Web应用程序设计技术一ASP NET【M】.清华太学出版社, 2006 [4】Borland Software Corporation.Web Application Developer Guide 【Z J_VERs 0N 5,2001.