admin 管理员组

文章数量: 1184232


2024年3月28日发(作者:javascript和jquery面试题)

第29卷第7期 

2012年7月 

计算机应用与软件 

Vo1.29 No.7 

Computer Applications and Software 

Ju1.2012 

种中英文管理信息系统网站的设计模式 

王敏 王智超 陈亚光 

(武昌理工学院信息工程学院湖北武汉430223) 

湖北武汉430074) (中南民族大学生物医学512程学院

摘要 中英文双语管理信息系统网站的开发通常采用两套代码两个数据库或者一套代码两套资源文件的开发模式,在软硬件 

开销、代码与信息分离和系统的维护性方面均存在不同程度的缺陷。为对应这一问题,对于页面的静、动态内容,在数据库表中分别 

设计两个字段来存放其中英文内容,通过数据库及程序设计,用一套代码一个数据库实现中英文双语网站的开发。 

关键词 双语网站 内容管理系统数据库静态内容动态内容 

中图分类号TP311.52 文献标识码A 

A DESIGN PATTERN oF CHINESE.ENGLISH BⅡ INGUAL M_ANAGEMENT 

INFoRMATIoN SYSTEM WEBSITE 

Wang Min Wang Zhichao Chen Yaguang 

(College ofInformationEngineering,Wuchang UniversityofTechnology,Wuhan 430223,Hubei,China) 

。(ColelgeofBiomedicalEngineering,South.Central UniversityforNationalities,Wuhan 430074,肌 ,China) 

Abstract In general,the development of a Chinese—English bilingual Management Information System website usually adopts the paRern of 

two code sets。two databases!t or one code set.two resource file libraries .When using these methods I there tile inevitably insufifciencies in 

software and hardware expenses,code and ifnormation separations,and system maintenance.To resolve the problem,the authors design two 

data fields to store both Chinese and English information to display static Or dynamic contents in web pages.By database and program design, 

with only one code set plus one database,a Chinese—English bilingual website can then be realized. 

Keywords Bilingual website Content management system Database Static content Dynamic content 

不利于系统的维护。 

0 引 言 

目前有一些内容管理系统(CMS)能帮助人们快速进行网 

站建设 J。其中某些CMS系统也支持中英文双语网站,但从实 

伴随互联网技术的迅速发展及企业国际化的发展需求,基 

现方法上看,不外乎上述两种方式,而对于管理信息系统的网 

于局域网范围的管理信息系统已不能满足国际化企业的管理需 

站,由于其业务逻辑较为复杂,采用CMS并无优势。 

求,基于网站的管理信息系统是国际化企业实现企业一体化管 

为提高双语网站开发效率,提高系统的可维护性,我们提出 

理的有力支持。我国一些具有国际战略眼光的企业,不仅建立 

套基于c#的双语网站设计模式,利用数据库设计及编程技 

了企业品牌网站,而且还建设了网站外文版u 。英语是当今世 

术,在设计中将页面显示内容与代码完全分离,用一套代码一个 

界上主要的国际通用语言之一,为了逾越系统使用者中文要求 

数据库来实现双语网站的开发。 

的限制以及企业业务的需要,建立中英文双语管理信息系统网 

站是企业实现国际化管理的有效途径 。 

1基于管理信息系统网站的特点 

曾经以cs模式开发的管理信息系统大多是采用微软的开 

发工具Microsoft Visual Studio 6.0及之前的版本,因此BS模式 

互联网网站类型,按主体性质的不同主要分为政府网站、企 

的系统开发我们首选Microsoft Visual Studio.Net平台的c#进行 

业网站、商业网站、教育科研机构网站、个人网站、其他非盈利机 

开发。利用c#进行中英文双语网站开发,通常采用的方法有以 

构网站等,这些网站的特点是页面基本由大量的超级链接、较长 

下两种 :第一种是开发两套系统,即中英文系统自成体系,用 

篇幅的文本和较多的图片及动画组成。这些类型的网站页面内 

两套程序和两个数据库分别实现;第二种是使用一套程序,针对 

容较为复杂且页面内容维护频率较高,不适合用本文提出的方 

每个页面分别生成中英文两个资源文件以实现两种语言之间的 

式实现中英文网站开发。 

切换。数据库可以用两个,也可以用一个。第~种方法,实现容 

易,但是开发、测试及维护效率均很低下;第二种方法开发效率 

收稿日期:2011—1O—O3。王敏,副教授,主研领域:计算机应用,软 

相对较高,但由于存放中英文信息的资源文件与代码密不可分, 

件测试。王敏超,讲师。陈亚光,教授。 

l94 计算机应用与软件 2012丘 

图2附页面控件编号的页面 

3.2数据库相关表的设计 

本系统双语功能的实现主要借助于数据库设计。与常规设 

计模式不同的是: 

定义了一个“静态信息表”,在该表中定义了页面编号、页 

面控件编号、中文名称、英文名称等字段,主键为页面编号和页 

面控件编号,该表用来存放各个页面所有静态内容的中英文显 

示内容。 

对于需要双语管理的信息,在每一个数据库的表中分别设 

置了中英文两个字段来存放相应的信息。 

针对wwDGo01页面,静态信息表内容如表1所示。 

表1 WWDG001静态信息表部分内容 

页面ID 页面控件编号 中文名称 英文名称 

WWDGoo1 #NAO1 MEN001 MEN001 

WWDGoo1 #NA02 商品管理页面 M dse Master Maintenance 

WWDcoo1 FID1 商品编号 M dse Code 

WWDG001 #FLO2 商品名称 M dse Naine 

WWDG0o1 #BT05 登录 Update 

针对WWDGO01页面,其动态显示内容来自于商品管理表, 

内容如表2所示;页面动态消息和消息框消息也以中英文存放 

于消息管理表中,内容如表3所示。 

表2 WWDG001商品管理裹部分内容 

商品编号 商品中文名 商品英文名 

12345AA005 IXY数码500/W盒 IXY Digital 500/W CASE 

表3 WWWDG001消息管理表部分内容 

消息编号 中文消息 英文消息 

#MEoo1 登录成功! Registration completion 

3.3静态信息管理的设计 

由于页面静态内容来自于“静态信息表”,因此,本系统还 

必须对静态信息进行统一管理,除了一般管理信息系统的业务 

功能设计外,为便于系统的管理和维护,增加了静态内容中英文 

信息的增、删、改、查功能。中英文页面显示内容如图3所示。 

Em5 I品-键 

HEND晒 №^I蜉时№n 腿 

自聃{ 123 ̄ggf105 

M ∞OD 12"MSg ̄05 

两冕皂聆 ⅨY融鞴5∞,w盎 

女 № Ⅲ DNt ̄aI 50n,wC^sE 

圈 圈 

图3中英文页面示意图 

3.4 中英文显示内容对应的设计 

为了保持页面布局的美观和降低编程复杂度,设计时,依据 

常规数据大小,将页面显示项目的位置和大小设为固定值。由 

于英文信息比中文信息长,设计时以中文信息完全显示为主,兼 

顾英文的完全显示,对于中英文长度差别较大的页面项目(或 

太长的中英文显示项目),我们按照页面预留长度截取适当内 

容显示于页面,利用<acronym>Tag,当鼠标置于未完全显示文 

字之上时使其以工具提示的方式显示全部内容。 

3.5页面语言选择的设计 

根据以下三方面决定各页面语言的切换:第~,系统启动 

时,启动用户登录页面,将根据用户所处区域决定打开系统登录 

页面的显示语言。第二,用户登录时,通过输入用户名和密码进 

入系统,系统根据用户名检索用户的语言标志,决定进入系统的 

显示语言。第三,各页面设置了语言切换按钮,用户可根据需要 

随时进行语言切换。为保证页面切换过程中显示语言的一致 

性,我们将语言标志设置在母版页WW.DGBaseMasterPage.mas. 

ter的不可视文本框中,利用context.Handler实现页面间的语言 

标志值的传递。 

4 双语对应的实现 

借助于用户信息中的语言标志和方便的iBatis.Net框架, 

能较好地控制中英文信息的增删改查操作,下面主要就页面 

WWDGB120中英文静、动态内容获取描述系统的部分实现。 

4.1静态中英文内容的获取 

页面静态显示内容是在页面打开时根据语言标志动态设定 

的,为加快页面显示速度,页面静态内容在系统启动时,一次性 

从数据库读出待用。因此,我们在Globa1.asax的Application— 

Start事件中将所有静态内容从数据库读出保存于DataTable对 

象中,抽出信息包括:页面编号、页面控件编号、中文名称和英文 

名称。在各页面初始显示时,以页面编号和语言标志为参数,从 

DataTable对象中读取对应内容并显示。此外,执行过程中的中 

英文提示信息也采用同样的方式处理。程序如下: 

protected void Application

Start(object sender,EventArgs e 

{try 

{//WWDGCCommon公用类实例化 

ChnEn.WWDG.App.Common.WWDGCCommon wwdgCCommon= 

new ChnEn.WWDG.App.Common.WWDGCCommon(); 

//GetLabellnfo调用,取得静态信息 

wwdgCCommon.GetLabellnfo(); 

//页面首部URL取得 

wwdgCCommon.GetheaderUrl(); 

//GetMessageList调用,取得执行过程中的提示信息 

wwdgCCommon.GetMessageList(); 

} 

catch(Exception ex) 

{ChnEn.WWDG.App.Common.WWDGLog.GetLogger().errorLog 

(null,ex);} 

} 

GetLabellnfo中调用iBatis,Net框架的方法代码如下: 

public IList GetLabelInfo() 

{return SqlMap.QueryForList( GetAllLabcl ,nul1);}XML文档 

中对应的SQL语句如下: 

第7期 王敏等:一种中英文管理信息系统网站的设计模式 195 

<select id=”GetAllLabel resultClass=”Hashtable”> 

this.LblValidFlg.Text=(string)lableTable【,,#FL12”]; 

SELECT 

this.LblNiHoGo.Text=(stirng)lableTable["#NA01”]; 

SCREEN

ID, 

—.

this.LblEn.Text=(string)lableTable["#NA02”]; 

ITEM

ALIAS, 

this.LblItemCD.Text=(string)lableTable["#FLO1 ]; 

NECESSALY

FLG, 

this.LblItemCategory.Text=(stirng)lableTable["#FL02 ]; 

LABEL

……

_

C, 

(略) 

LABE E 

} 

FROM 

4.2动态中英文内容的获取 

WWDGT305 

在上面的DoMyPageLoad方法中调用的GetData方法即是 

0RDER BY 

SCREEN

完成中英文动态内容处理的方法,代码如下: 

ID 

</select> 

private void GetData(stirng strhemCD) 

各页面打开时,按照各自的页面ID读取静态内容显示: 

DataTable ilDetail=new DataTable(); 

ItemDefinitionServiee service:=new I (); 

namespace ChnEn.WWDG.Info.Reg 

ilDetail=service。GetDetailData(userlnfor,strltemCD); 

{public partial class WWDGB120:WWDGCBaseWebPage 

……

(略)//页面动态内容设定处理 

{protected override void DoMyPageLoad(object sender,EventArgs e) 

 }

{ScreenlD:WWDGCConstants.M—WWDGB120jD; 

service.GetDetailData代码如下: 

if(!IsPostBack) 

{ 

public IList GetDetailData(Userlnfar user,Stirng strhemCD) 

//登录页面经过检查 

{IListlist=null; 

if(user.Language) 

Cheeklnit(WWDGCConstants.M—lWWDGB120jD); 

Stirng strltemCD=Request.QueryString[,,ItemId”]; 

{list=SqlMap.QueryForLis!( WWDGB120一SelectCN ,strhem- 

CD);} 

//静态内容设定 

else 

this.SetLabelName(); 

{list=SqlMap.QueryForLisl( WWDGB120一SelectEN”,strltem- 

//下拉列表框内容设定 

CD);} 

GetltemData(); 

return list; 

//页面内容初始化 

if(strhemCD==nul1) 

{SetButtonEnable(true,false,flase,false);} 

对应XML文档中的SQL语句如下: 

<select id= WWDGB120

SeleetCN”resuhClass= Hashtable parame— 

else 

terClass=”Stirng > 

{GetData(strltemCD); 

SELECT 

SetButtonEnable(false,true,true,ture);} 

T201.VALID

FLG VALID

FLG, 

setStatus(DdlItemKing.SeleetedValue,DdlLeve1.Selected- 

Value); 

T201.ITEM

NAMEJ ITEM—NAME—C, 

//页脚设定 

T201.DISP FLGj DISP…FLG C, 

Master.SetFooter(WWDGCConstants.M—WWDGB120一ID,0); 

} 

12O1J DIVISION

CD DIVISION—CD 

else 

FROM 

{ 

WWDGT2O1 I2O1 

//Session超时检查 

WHERE 

CheckSession(); 

I201.ITEM

CD=#VAI UE# 

} 

</select> 

//返回按钮按下时 

‘select id= WWDGB120

SeleetEN resultClsas= Hashtable parame・ 

tllis.StrBackUrl=WWDGCConstants.M

WWDGB1 10

ID+ 

terClass= Stirn毫f> 

WWDGCConstants.M

EXTENSION; 

SELECT 

Set

Client,Script(); 

3"201.VALID

FLG VALID

FLG, 

} 

静态内容设定处理如下,即根据页面ID读取系统启动时从 

T201.rrEM

NAME

E ITEM

NAME

E, 

——

数据库读取的静态信息(GetLabellnfoByScreenld)并设置于该页 

T2O1.DISP

FLGE DISPFLG

E, 

——

面标签中显示: 

private void SetLabelName() 

T201.DIVISION

CD DIVISION—CD 

{WWDGCCommon wwdgCCommon=new WWDGCCommon(); 

FR0M 

Hashtable lableTable=wwdgCCommon.GetLabellnfoByScreenld 

WWDC12O1 TI201 

(wwDGCConstants.M DGB120一ID,ISChn); 

WHERE 

//母版页静态内容设定 

01.ITEM

CD=#VAI UE# 

Master.SetCommonLabels(1ableTable); 

</select> 

//静态内容设定 

(下转第199页) 

第7期 朱敏:基于Web的可视化套打功能的设计与实现 199 

用中应该为每一个数据项所在的<div>元素赋予鼠标事件的 

用户对打印机纸张的尺寸、页边距等打印属性设置的学习时间。 

响应代码。同样可通过服务器端脚本的循环语句来实现。 

当用户完成模板的编辑后,点击“保存”按钮即可将表单中 

参考文献 

数据项的相关数据写入到数据库中。 

[1]单东林,张晓菲,魏然.锋利的jQuery[M].北京:人民邮电出版 

3.4打印输出 

社,2009. 

在实际打印页面,只输出编辑页面中的printpanel元素,该 

[2]朱印宏,林小志.精通CSS网页布局[M].北京:中国电力出版 

元素及内部的数据项输出内容与编辑页面相同,但不再输出辅 

社,2009. 

助用户编辑数据项位置的对照图片或网格,在document对象的 

[3]李永锋,谷川.一种模板化的web打印方法的设计与实现[J].计 

ready事件匿名函数代码中,最后一行追加window.print();语 

算机应用与软件,2010,27(4):118—119. 

句,即可在打印页面准备完成后,自动弹出浏览器的打印对话 

[4]郭军军,刘刚.一种基于J2EE平台的通用WEB票据打印服务技 

框,便于用户完成打印。图4是printpanel元素及其内部的数据 

术[J].计算机应用与软件,2010,27(6):163—164,168. 

项在IE7浏览器中的实际输出效果。 

[5]郑武,郑文旺.Web报表的设计与实现[J].电脑编程技术与维护, 

2009(22):73—75. 

[6]吴成明,张彬桥.B/S模式下的发票套打解决方案[J].电脑编程技 

术与维护,2007(5):l2—14. 

(上接第195页) 

以上是中英文静、动态内容读取显示的代码实现,也是本中 

英文双语网站开发的主要部分..在页面刷新时均会涉及上述处 

理,对于中英文信息的登录、修改、删除处理实现相对简单,省略 

描述。 

图4 IE7浏览器中的实际打印效果 

图4中printpanel元素的宽度与高度的样式值是物理单位 

5 结语 

em,遵循CSS3标准的浏览器能够根据操作系统的显示分辨率 

在显示器上输出与用户编辑模板时指定的物理宽度与高度相同 

本设计模式在13本Canon打印机及配件法规制管理系统的 

的printpanel元素,在有些非标准的显示器上,可能显示的宽度、 

日英双语网站开发中使用,成功地实现了日英文双语网站的开 

高度的绝对值与实物有些差别,但是printpanel元素中的数据项 

发,实际使用证明其性能良好、维护方便。由于同一内容日英文 

的相对位置与大小比例是不变的,同时,绝大多数打印机的驱动 

文字长短差异较大,而设计中主要以日文内容完全显示为主,因 

程序都提供按照当前所选纸张的物理尽寸进行缩放打印的功 

此部分英文页面存在显示内容:不完整的现象,只能通过鼠标悬 

能,当printpand元素被按比例缩放到相同物理尺寸的纸张打印 

停提示的方式显示全部内容,有待寻找一种更好的方法解决这 

区域上以后,数据项的打印位置与大小仍然与用户编辑数据项 

现象,以求美观和内容完全显示。 

时在对照实物照片上的位置与大小相同。 

基于上述原因,用户在实际打印时需要根据编辑模板时输 

参考文献 

入的物理尺寸来设置打印机的纸张大小与页边距,为便于页边 

[1]舒咏平,王伟玮.缺憾的自主传播——自主品牌网站英文版的实证 

距的调整,用户可以设置所有页边距为lcm,同时采用自定义方 

分析[J].现代传播:中国传媒大学学报,2010(6):ll7一l18. 

式将打印机纸张宽度、高度设置为实物宽、高再加上2cm,使得 

[2]张亚娟,付辉,王学春.基于动态技术的多语言网站研究与设计 

纸张的打印区域与实物大小一致。用户可通过浏览器的打印预 

[J].现代计算机:专业版,2010(3):128—130. 

览窗口调整页边距来解决轻微的数据项整体偏移问题。 

[3]肖治国.基于J2EE的内容管理系统的研究与开发[D].北京:中国 

综上所述,通过利用浏览器、操作系统、打印机驱动程序对 

航天第二研究院,2008. 

打印标准的支持,解决了在不同浏览器、打印机间进行精确定位 

[4]Liu Dongfei,Su Bi.Research in identiifcation and purification of the bi. 

打印输出的问题。经笔者实验,套打的效果令人满意。 

1ingual web page[J].International Colloquium Oil Computing,Commu- 

nication,Control,and Management.USA:ISECS Press。2008:576 

579. 

4 结语 

[5]陈伟.双语平行网页挖掘系统的设计与实现[J].计算机工程, 

2009(7):2678—2690. 

本文所提出的套打功能完全采用了基于浏览器的客户端技 

[6]Ruiqiang Z.Achilles:A Chinese word Se ̄entation P10鲫l[EB/OL]. 

术,不需要在客户端安装浏览器插件或其它软件。用户数据的 

2OO8.http://www.sic.atr.jp/~rztmng/Achilles.htm1. 

存储与输出可通过PHP、JSP、ASP、ASP.NET等Web动态编程 

[7]Ruiqiang Z,Genichiro K,Eiichiro S.Subword・based Tagging for Confi- 

技术实现,不依赖特定的Web服务器端技术,在IE、Firefox、 

dence-dependent Chinese Word Segmentation[c]//Proceedingsof the 

Chrome等浏览器中都能获得很好的套打效果,实现代码简洁高 

COLING/ACL on Main Conference Poster Sessions.Sydney,Aus ̄alia, 

2006:193—196. 

效,易于移植与维护,因此适用范围广泛,具有很强的实用性。 

[8]姜银熔,张勇.网站开发与设计[J].信息与电脑:理论版,201l 

考虑到不同浏览器打印功能的操作方法有所差别,在Web站点 

(1):46. 

中向用户提供针对常见浏览器的套打功能使用帮助,可以减少 

[9]Dr Intenrationa1.国际化软件开发[M].机械工业出版社,2003. 


本文标签: 页面 内容 网站 显示 静态