国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java多國語言問題解決方案

2019-11-17 05:59:09
字體:
來源:轉載
供稿:網友
隨著經濟全球化的發展,產生了眾多的跨國公司,而java語言的出現以及網絡通訊技術的飛速發展,使企業僅購買一套基于web的企業級應用軟件(比如說:OA系統,ERP系統、CRM等),通過網絡就能滿足整個集團共同使用該軟件成為可能。既減少了軟件費用,又縮短了信息延遲,提高了企業運作效率。但因為應用系統是面向多個國家,多種語言的,所以在設計軟件時就不得不解決國際化(internationalization)問題,國際化的程序應支持多國語言,不同格式的日期、時間、貨幣和其它值,還有操作界面的風格、界面個性化定制等問題.,本文著重論述多國語言的解決方案:



  Java語言是一種面向對象的語言,所以可以生成一個國際化的軟件包,使由系統自動根據區域及語言設置的屬性進行判定成為可能。



  解決方案主要有兩種:



  一是利用Java本身提供用于解決國際化問題的軟件包當中的ResourceBundle及其子類,處理在Java類中或是PRoperty文件中定義的參數;二是自定義一個類進行存取,把相應參數放在數據庫或是屬性文件中。



  一、 利用Java類包:



  1、根據系統默認的語言設置讀取參數值的類Resource:







package i18n.article;

import java.io.*;

import java.util.Enumeration;

import java.util.Hashtable;

import java.util.Locale;

import java.util.PropertyResourceBundle;

import java.util.ResourceBundle;



/**

* <p>Title:多國語言的后臺實現類 </p>

* <p>Description: 根據屬性文件及區域與語言設置,得到對應的語言</p>

* <p>Copyright: Copyright (c) 2003</p>

* <p>Company: Timer Corporation</p>

* @author:宋兆輝

* @version 1.0

*/



public class Resource {



private static final String HEAD_FILE = "ATTR"; //屬性文件名的前綴

private static final String LAST_FILE=".properties"; //屬性文件名的后綴

private static final String FILE_PATH="c://"; //定義屬性文件存放的目錄



public Resource() {

}

/*以下是根據傳入的屬性文件中的"鍵",而得到與區域與語言設置相對應的"值"*/



public synchronized String srcStr(String disStr) {

String ret = "";

try {



Locale locale = Locale.getDefault(); //獲取系統的區域與語言默認設置

System.out.println("");

String baseName = new StringBuffer()

.append(HEAD_FILE).append("_").append(locale.toString())

.append(LAST_FILE).toString(); //根據local屬性,前綴以及后綴生成文件名



String fileName = new StringBuffer(FILE_PATH).append(baseName)

.toString(); //獲取文件的完整路徑



InputStream is = new FileInputStream(fileName); //生成文件輸入流

PropertyResourceBundle pr = new PropertyResourceBundle(is); //根據輸入流構造PropertyResourceBundle的實例

ret = pr.getString(disStr);

if(locale.equals(Locale.CHINA)){

ret = new String(ret.getBytes("ISO-8859-1"),"GB2312");

} //假如是要顯示中文,則要進行內碼的轉換

is.close();

return ret;

}

catch (Exception e) {

e.printStackTrace();

return disStr;

}

}

}







  2、對應的properties文件:ATTR.properties和ATTR_zh_CN.properties



  (1)ATTR_en_US.properties:





LoginName=login name

PassWord=password

Login=login

LoginTime=loginTime

LogOff=logout

ChineseVersion=English Version

MainPage=home

SoftWare=softWare

Hardware=Hardware

YourLocationMainPage=YourLocationMainPage

MyCalendar=MyCalendar

MyMails=MyMails

R&D=R&D

Forum=Forum

DeveloperProcess=DeveloperProcess

TechnologyCommunion=TechnologyCommunion





  (2)ATTR_zh_CN.properties:





LoginName=用戶

Password=密碼

Login=登陸

LoginTime=登陸時間

LogOff=注銷登陸

ChineseVersion=中文版

MainPage=首頁

SoftWare=軟件

Hardware=硬件

YourLocationMainPage=當前位置:首頁

MyCalendar=我的日程

MyMails=我的郵件

R&D=研發區

Forum=討論區

DeveloperProcess=開發進程

TechnologyCommunion=技術交流





  3、對應的jsp文件:



  本例中有3個jsp頁面:



  (1)login.jsp:(登陸頁面)





<%@ page contentType="text/Html; charset=GB2312" %>

<HTML>

<HEAD>

<TITLE></TITLE>

<link href="CSS/style.css" rel="stylesheet" type="text/css">

<script language = Javascript

function focusIt() {

window.document.login.loginName.focus();

}

</script>

</HEAD>

<jsp:useBean id="resource" scope="application" class="i18n.article.Resource"/>

<BODY onload="javascript:focusIt();" bgcolor="#ffffff">



<form name="login" method="post" action="main.jsp">



<table border=0 cellpadding=0 cellspacing=0 align=center>

<tr>

<td height="150"></td></tr>

<tr>

<td width=262><img alt="" border=0 src="http://www.QQread.com/java/images/cover_r1_c1.jpg"></td>

<td> </td>

<td>



<table border=0 cellpadding=1 cellspacing=1>

<tr>

<td>

<p align=right><%=resource.srcStr("LoginName")%></p></td>

<td><input type=text name="loginName" ID=Text1></td></tr>

<tr>

<td>

<p align=right><%=resource.srcStr("Password")%></p></td>

<td><input type=password name="password" ID=Password1></td></tr>

<tr>

<td> </td>

<td align=center>

<input class="button" type=submit value=" <%=resource.srcStr("Login")%> " ID=Submit1></td></tr>

</table>



</td></tr>

<tr>

<td colspan=3><img alt="" border=0

src="http://www.qqread.com/java/images/cover_r2_c1.jpg"></td></tr>

<tr>

<td colspan=3><img alt="" border=0

src="http://www.qqread.com/java/images/cover_r3_c1.jpg"></td></tr>

<tr>

<td colspan=3 height=20> </td>

</tr>

<tr>

<td colspan=3 align=center><font color="#c0c0c0">Best Viewed In IE5.0 Or Up ,1024x768</font></td>

</tr>

<tr>

<td colspan=3><hr size=1 width="100%" color="#c0c0c0"></td>

</tr>

<tr>

<td colspan=3 align=center>© 2003 Corporation. All rights reserved.</td>

</tr>

</table>



</form>



</BODY>

</HTML>





  (2)main.jsp:



<%@ page contentType="text/html; charset=GB2312" %>

<jsp:useBean id="resource" scope="application" class="i18n.article.Resource"/>

<HTML>

<HEAD>

<TITLE></TITLE>

<META NAME="GENERATOR" Content="Microsoft Visual Studio">

<META HTTP-EQUIV="Content-Type" content="text/html; charset=UTF-8">

<LINK rel="stylesheet" href="css/style.css" type="text/css">

</HEAD>

<BODY topMargin=2 leftMargin=2 bgcolor="#ffffff">



<TABLE WIDTH="100%" HEIGHT="100%" BORDER="0" CELLSPACING="0" CELLPADDING="0">

<tr>

<td height=80>



<%

String loginName = request.getParameter("loginName");

%>



<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>

<tr>

<td width=163 rowspan=3><img src="http://www.qqread.com/java/images/system_logo.jpg" border=0></td>

<td width=30 rowspan=3><img src="http://www.qqread.com/java/images/logo_linked_corner.gif" border=0></td>

<td width=140><img src="http://www.qqread.com/java/images/logo_extended_bar.jpg" border=0></td>

<td height=25 bgcolor="#95ADD3" align=right class="P1">

<%=resource.srcStr("LoginTime")%><%=new java.util.Date().toLocaleString()%>

  

<%=resource.srcStr("LoginName")%><%=loginName%>   

<img src="http://www.qqread.com/java/images/logout.gif" align="absMiddle" border=0>

<a href="login.jsp"><%=resource.srcStr("LogOff")%></a>

<img src="http://www.qqread.com/java/images/row_ender.jpg" align="absMiddle" border=0></td>

</tr>

<tr><td height=30 colspan=2><p> 

<a href="#"><%=resource.srcStr("MainPage")%></a>    

<a href="#"><%=resource.srcStr("SoftWare")%></a>    

<a href="#"><%=resource.srcStr("Hardware")%></a>   </p></td></tr>

<tr><td height=25 colspan=2<%=resource.srcStr("YourLocationMainPage")%>></td></tr>

</table>



</td>

</tr>

<tr>

<td>



<table width=100% height=100% cellpadding=0 cellspacing=0 border=0>

<tr>

<td width=165 valign=top>



<table width=100% cellpadding=0 cellspacing=0 border=0>

<tr><td colspan=2><img src="http://www.qqread.com/java/images/left_menu_top.jpg" border=0></td></tr>

<tr><td width=35 align=left><img src="http://www.qqread.com/java/images/left_menu_colbar.jpg" border=0></td>

<td width=130 align=left valign=top>



<table width=100% cellpadding=0 cellspacing=0 border=0>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("MyCalendar")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("MyMails")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("DeveloperProcess")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("TechnologyCommunion")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("Forum")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

<tr><td style="cursor:hand;"><p><%=resource.srcStr("R&D")%></p></td></tr>

<tr><td><hr size=1 width=100% color="#C6FF00"></td></tr>

</table>



</td>

</tr>

</table>



</td>

<td><IFRAME frameBorder=0 id=main name=main scrolling=auto src="version.jsp"

style="HEIGHT: 100%; VISIBILITY: inherit; WIDTH: 100%; Z-INDEX: 1"></IFRAME></td>

</tr>

</table>



</td>

</tr>

<tr>

<td height=50 valign=top>



<table width=100% cellpadding=0 cellspacing=0 border=0>

<tr><td align=center><hr size=1 width=80% color="#95ADD3"></td></tr>

<tr><td align=center>?2003 Corporation. All rights reserved.</td></tr>

</table>



</td>

</tr>

</TABLE>



</BODY>

</HTML>





  (3)version.jsp:(主頁面的中間部分)





<%@ page contentType="text/html; charset=GBK" %>

<jsp:useBean id="resource" scope="application" class="i18n.article.Resource"/>

<HTML>

<HEAD>

<TITLE></TITLE>

<META HTTP-EQUIV="Content-Type" content="text/html; charset=UTF-8">

</HEAD>

<BODY leftMargin="0" topMargin="0">

<table width="100%" height="100%" cellpadding=0 cellspacing=0 border=0>

<tr>

<td align=center valign=middle colspan=2>

<table align="center" border="0" cellspacing="3" cellpadding="5" style="filter:dropshadow(color=gray,offx=5,offy=5,positive=1);">

<tr>

<td width=400 height=100 bgcolor="#CBD3EA" align="center" style="border: 1px #0A246A solid;">

<p><font color="#5c6bac" style="font-size:30px;"><b><%=resource.srcStr("ChineseVersion")%></b></font></p>

</td>

</tr>

</table>

</td>

</tr>

<tr>

<td width=50% valign=top align=center> </td>

<td width=50% height=155 align=center><img src="http://www.qqread.com/java/images/internationalization.jpg"></td>

</tr>

</table>

</BODY>

</HTML>



  二、 利用自定義類:



  利用自定義的類,可以存取放在屬性文件或是數據庫中的對應的語言文字,實現方式大致與上述方法相同,不過是添加一些對屬性文件流或是數據庫存取的方法,對應的jsp頁面可以不做改動。在這里不再贅述.



  注:以上程序在windows2000英文版及中文版,resin2.1.6上調式通過.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 诏安县| 长泰县| 清涧县| 天峻县| 安宁市| 武清区| 乡城县| 南平市| 察哈| 邵阳县| 辉县市| 马尔康县| 长乐市| 钟山县| 吴川市| 盘山县| 阿克陶县| 左权县| 江都市| 防城港市| 金昌市| 环江| 嘉兴市| 沂源县| 中阳县| 鹤壁市| 平阳县| 古交市| 高阳县| 永丰县| 米林县| 雅江县| 兴化市| 武宁县| 天水市| 石林| 吉安县| 汝州市| 广丰县| 麻城市| 巴中市|