
当ASP.NET撞上JSF之应用程序的国际化
发布时间:2006-06-06 19:36:21 来源:天极开发 网友评论 0 条
支持不同的本地化的JSF应用程序与其它J2EE应用程序实现方式差不多使用一样的实现方式-通过把本地文本数据存储到一个资源包属性文件中。你将对每一种本地化支持提供一个属性文件(每一种本地化以一个语言代码和一个国家代码(例如en-US加以标志)。切换显示语言其实是一个重定向到另外一个properties文件的问题。在前一个ASP.NET发行版本中,要在一个ASP.NET应用程序中支持不同的本地化相当麻烦,然而,在ASP.NET 2.0中在这一方面有了很大的改进。例如,在ASP.NET 2.0中,当在不同语言之间切换时不需要重新编译。
为了使JSF应用程序支持不同本地化功能,我把一个WebReservations.properties文件添加到应用程序并实现了支持en-US的本地化。预订页面的标题为"Make a Reservation for Conference Room"。我简单地在这个资源绑定属性文件中添加了一个键/值对:
#示例ResourceBundle属性文件
ReserveRoomTeamLabel=Reservation Team:
我可以为同一个组件创建任何数量的本地化特定的消息。然后,我需要告诉应用程序如何使用这个文件-通过把下列语句添加到faces-config.xml文件中:
通过引用一个资源包,你可以使用一个到这个键的引用来代替在JSF标注中的文本。这里有一个例子:
ASP.NET为不同的本地化提供资源文件支持。这些资源文件都有一个扩展名.resx。ASP.NET 2.0中引入了资源表达式-你可以把它们放到ASP.NET标注中。这些表达式看上去类似于ASP.NET数据绑定表达式。注意,开发者可以一起指定一个应用程序的本地和全局资源。在这个例子中,我建立了一个本地资源文件以相应于新的预订页面。
本地资源需要放置在一个文件夹"App_LocalResources"下。这个文件夹下的每一个文件都应该具有类似于"{aspx page name}].aspx.resx"的名字。我创建了一个文件Reservations.aspx.resx。在这个文件中,我为"Reservation Team:"添加了一个入口-就象我在JSF应用程序所实现的那样。为使页面能够存取这些资源并且在运行时刻能够给标签赋予相同的文本,你可以添加下面的表达式:
如果你还没有开发过一个实现国际化要求的应用程序,那么你将来很可能会做这样的工作。不过,无论是使用JSF还是使用ASP.NET都会轻松地实现这种任务。
为了使JSF应用程序支持不同本地化功能,我把一个WebReservations.properties文件添加到应用程序并实现了支持en-US的本地化。预订页面的标题为"Make a Reservation for Conference Room"。我简单地在这个资源绑定属性文件中添加了一个键/值对:
#示例ResourceBundle属性文件
ReserveRoomTeamLabel=Reservation Team:
我可以为同一个组件创建任何数量的本地化特定的消息。然后,我需要告诉应用程序如何使用这个文件-通过把下列语句添加到faces-config.xml文件中:
| <message-bundle>WebReservations.properties</message-bundle> <locale-config> <default-locale>en</default-locale> <!--Add other locales here.--> </locale-config> |
通过引用一个资源包,你可以使用一个到这个键的引用来代替在JSF标注中的文本。这里有一个例子:
| <ui:label binding="#{ReserveRoom.lblReserveTeam}" id="lblReserveTeam" style="left: 48px; top: 96px; position: absolute" text="#{messages.ReserveRoomTeam}"/> |
ASP.NET为不同的本地化提供资源文件支持。这些资源文件都有一个扩展名.resx。ASP.NET 2.0中引入了资源表达式-你可以把它们放到ASP.NET标注中。这些表达式看上去类似于ASP.NET数据绑定表达式。注意,开发者可以一起指定一个应用程序的本地和全局资源。在这个例子中,我建立了一个本地资源文件以相应于新的预订页面。
本地资源需要放置在一个文件夹"App_LocalResources"下。这个文件夹下的每一个文件都应该具有类似于"{aspx page name}].aspx.resx"的名字。我创建了一个文件Reservations.aspx.resx。在这个文件中,我为"Reservation Team:"添加了一个入口-就象我在JSF应用程序所实现的那样。为使页面能够存取这些资源并且在运行时刻能够给标签赋予相同的文本,你可以添加下面的表达式:
| <asp:Label ID="Tea" runat="server" Text=<%$ Resources:ReservationsTeamLabel %>></asp:Label> |
![]() ASP.NET-添加本地化的文本 ![]() JSF-添加本地化的文本 |
如果你还没有开发过一个实现国际化要求的应用程序,那么你将来很可能会做这样的工作。不过,无论是使用JSF还是使用ASP.NET都会轻松地实现这种任务。
推荐阅讯
- 在ASP.NET中跨页面实现多选
- ASP.NET入门随想之金庸群“粒”传
- .NET 2.0中的企业库异常处理块简述
- ASP.NET 应用中大文件上传研究
- 揭开ASP.NET中Cookie编程的奥秘
- VS2005和ASP.NET2.0中使用强类型数据
- 10天学会ASP.net之第四天
- 在ASP.NET中自动给URL加上超链接
- ASP.NET入门随想之代言人
- ASP.NET 2.0 中的异步页功能应用
阅读排行
- 1.用ASP.NET 2.0设计网络在线投票系统
- 2.在ASP.Net 2.0中实现多语言界面的方法
- 3.轻松加密ASP.NET 2.0 Web程序配置信息
- 4.在ASP.NET中使用AJAX的简单方法
- 5..NET 2.0中的企业库异常处理块简述
- 6.面向.NET开发人员的Ajax 技术平台策略
- 7.揭开ASP.NET中Cookie编程的奥秘
- 8.ASP.NET2.0服务器控件之创建自定义控件
- 9.ASP.NET2.0中Gridview中数据操作技巧
- 10.ASP.NET 2.0发送电子邮件全面剖析之二
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏


