📄 在struts 2_0中国际化(i18n)您的应用程序 - max on java - blogjava.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0057)http://www.blogjava.net/max/archive/2006/11/01/78536.html -->
<HTML><HEAD
id=Head><TITLE>在Struts 2.0中国际化(i18n)您的应用程序 - Max On Java - BlogJava</TITLE>
<META http-equiv=Content-Type content="text/html; charset=utf-8">
<META id=metaKeywords content="在Struts 2.0中国际化(i18n)您的应用程序" name=keywords><LINK
id=MainCss
href="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/style.css"
type=text/css rel=stylesheet><LINK id=RSSLink title=RSS
href="http://www.blogjava.net/max/rss.aspx" type=application/rss+xml
rel=alternate>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY>
<FORM id=Form1 name=Form1 onsubmit="javascript:return WebForm_OnSubmit();"
action=78536.html method=post>
<DIV><INPUT id=__EVENTTARGET type=hidden name=__EVENTTARGET> <INPUT
id=__EVENTARGUMENT type=hidden name=__EVENTARGUMENT> <INPUT
id=" __VIEWSTATE" type=hidden name=__VIEWSTATE> </DIV>
<SCRIPT type=text/javascript>
<!--
var theForm = document.forms['Form1'];
if (!theForm) {
theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
// -->
</SCRIPT>
<SCRIPT
src="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/WebResource.axd"
type=text/javascript></SCRIPT>
<SCRIPT language=JavaScript>
function ctlent(evt,id)
{
if(evt.ctrlKey && evt.keyCode == 13)
{
try
{
TempSave(id);
}
catch(ex)
{
}
finally
{
__doPostBack('AjaxHolder$PostComment$btnSubmit','')
}
}
}</SCRIPT>
<SCRIPT language=JavaScript>function SetReplyAuhor(author){document.getElementById('AjaxHolder_PostComment_tbComment').value+="@"+author+"\n";document.getElementById('AjaxHolder_PostComment_tbComment').focus();return false}</SCRIPT>
<SCRIPT
src="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/ScriptResource.axd"
type=text/javascript></SCRIPT>
<SCRIPT
src="D:\C_TOOLS\tools\勉強の工具\sql2000 sp4\struts-2.0.9-all\在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files\ScriptResource(1).axd"
type=text/javascript></SCRIPT>
<SCRIPT
src="D:\C_TOOLS\tools\勉強の工具\sql2000 sp4\struts-2.0.9-all\在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files\ScriptResource(2).axd"
type=text/javascript></SCRIPT>
<SCRIPT type=text/javascript>
<!--
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;
return true;
}
// -->
</SCRIPT>
<!--done-->
<DIV id=header><!--done-->
<DIV class=header>
<DIV class=headerText><A class=headermaintitle id=Header1_HeaderTitle
href="http://www.blogjava.net/max/">Max On Java</A><BR>The value of hands-on
experience as compared to book learning is smaller in software development than
in many other fields. </DIV></DIV></DIV>
<DIV id=mytopmenu>
<DIV id=mylinks><!--done--><A class=menu id=MyLinks1_HomeLink
href="http://www.blogjava.net/">BlogJava</A> <A class=menu
id=MyLinks1_MyHomeLink href="http://www.blogjava.net/max/">首页</A> <A
class=menu id=MyLinks1_NewPostLink
href="http://www.blogjava.net/max/admin/EditPosts.aspx?opt=1">新随笔</A> <A
class=menu id=MyLinks1_ContactLink
href="http://www.blogjava.net/max/contact.aspx?id=1">联系</A> <A
class=menu id=MyLinks1_Syndication
href="http://www.blogjava.net/max/rss">聚合</A><A id=MyLinks1_XMLLink
href="http://www.blogjava.net/max/rss"><IMG
style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px"
src="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/xml.gif"></A>
<A class=menu id=MyLinks1_Admin
href="http://www.blogjava.net/max/admin/EditPosts.aspx">管理</A> </DIV>
<DIV id=mystats><!--done-->随笔-18 评论-753 文章-0 trackbacks-0
</DIV></DIV>
<DIV id=centercontent><!--done-->
<DIV class=post>
<DIV class=postTitle><A class=postTitle2 id=viewpost1_TitleUrl
href="http://www.blogjava.net/max/archive/2006/11/01/78536.html">在Struts
2.0中国际化(i18n)您的应用程序</A> </DIV>
<P>国际化是商业系统中不可或缺的一部分,所以无论您学习的是什么Web框架,它都是必须掌握的技能。</P>
<P>其实,Struts
1.x在此部分已经做得相当不错了。它极大地简化了我们程序员在做国际化时所需的工作,例如,如果您要输出一条国际化的信息,只需在代码包中加入FILE-NAME_xx_XX.properties(其中FILE-NAME为默认资源文件的文件名),然后在struts-config.xml中指明其路径,再在页面用<bean:message>标志输出即可。
</P>
<P>不过,所谓“没有最好,只有更好”。Struts 2.0并没有在这部分止步,而是在原有的简单易用的基础上,将其做得更灵活、更强大。</P>
<H2>国际化Hello World</H2>
<P>下面让我们看一个例子——HelloWorld。这个例子演示如何根据用户浏览器的设置输出相应的HelloWorld。</P>
<OL>
<LI>在Eclipse创建工程配置开发和运行环境(如果对这个步骤有问题,可以参考我早前的文章《<A class=entrylistItemTitle
id=A1 href="http://www.blogjava.net/max/archive/2006/10/10/74353.html">为Struts
2.0做好准备</A>》)。 <BR>
<LI>在src文件夹中加入struts.properties文件,内容如下: <BR>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN
style="COLOR: #000000">struts.custom.i18n.resources</SPAN><SPAN
style="COLOR: #000000">=</SPAN><SPAN
style="COLOR: #000000">globalMessages</SPAN></DIV>
<CENTER>
<TABLE
style="BORDER-RIGHT: #f0c000 1px solid; BORDER-TOP: #f0c000 1px solid; MARGIN-TOP: 8px; MARGIN-BOTTOM: 8px; BORDER-LEFT: #f0c000 1px solid; BORDER-BOTTOM: #f0c000 1px solid; BACKGROUND-COLOR: #ffffce; TEXT-ALIGN: left"
cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD
style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px"><IMG
src="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/lightbulb_on.gif"></TD>
<TD
style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; FONT-FAMILY: 华文仿宋">Struts
2.0有两个配置文件,struts.xml和struts.properties都是放在WEB-INF/classes/下。
<UL>
<LI>struts.xml用于应用程序相关的配置
<LI>struts.properties用于Struts
2.0的运行时(Runtime)的配置</LI></UL></TD></TR></TBODY></TABLE></CENTER>
<LI>在src文件夹中加入globalMessages_en_US.properties文件,内容如下:<BR>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; MARGIN-BOTTOM: 8px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN
style="COLOR: #000000">HelloWorld</SPAN><SPAN
style="COLOR: #000000">=</SPAN><SPAN style="COLOR: #000000">Hello
World!</SPAN></DIV>
<LI>在src文件夹中加入globalMessages_zh_CN.properties文件,内容如下:<BR>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN
style="COLOR: #000000">HelloWorld</SPAN><SPAN
style="COLOR: #000000">=你</SPAN><SPAN
style="COLOR: #000000">好,世界!</SPAN></DIV>
<TABLE
style="BORDER-RIGHT: #f0c000 1px solid; BORDER-TOP: #f0c000 1px solid; MARGIN-TOP: 8px; MARGIN-BOTTOM: 8px; BORDER-LEFT: #f0c000 1px solid; BORDER-BOTTOM: #f0c000 1px solid; BACKGROUND-COLOR: #ffffce; TEXT-ALIGN: left"
cellSpacing=0 cellPadding=0 border=0>
<TBODY>
<TR>
<TD
style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px"><IMG
src="在Struts 2_0中国际化(i18n)您的应用程序 - Max On Java - BlogJava.files/lightbulb_on.gif"></TD>
<TD
style="PADDING-RIGHT: 4px; PADDING-LEFT: 4px; PADDING-BOTTOM: 4px; PADDING-TOP: 4px; FONT-FAMILY: 华文仿宋">在此想和大家分享一个不错的编写properties文件的Eclipse插件(plugin),有了它我们在编辑一些简体中文、繁体中文等Unicode文本时,就不必再使用native2ascii编码了。您可以通过Eclipse中的软件升级(Software
Update)安装此插件,步骤如下:<BR>
<DIV
style="PADDING-RIGHT: 36px; PADDING-LEFT: 36px">1、展开Eclipse的Help菜单,将鼠标移到Software
Update子项,在出现的子菜单中点击Find and Install;<BR>2、在Install/Update对话框中选择Search
for new features to install,点击Next;<BR>3、在Install对话框中点击New Remote
Site;<BR>4、在New Update
Site对话框的Name填入“PropEdit”或其它任意非空字符串,在URL中填入http://propedit.sourceforge.jp/eclipse/updates/;<BR>5、在Site
to include to
search列表中,除上一步加入的site外的其它选项去掉,点击Finsih;<BR>6、在弹出的Updates对话框中的Select the
features to install列表中将所有结尾为“3.1.x”的选项去掉(适用于Eclipse
3.2版本的朋友);<BR>7、点击Finish关闭对话框;<BR>8、在下载后,同意安装,再按提示重启Eclipse,在工具条看到形似vi的按钮表示安装成功,插件可用。此时,Eclpise中所有properties文件的文件名前有绿色的P的图标作为标识。
</DIV></TD></TR></TBODY></TABLE>
<LI>在WebContent文件夹下加入HelloWorl.jsp文件,内容如下:<BR>
<DIV
style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; MARGIN-BOTTOM: 8px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><SPAN
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -