ASP.NET网页编程之当ASP.NET撞上JSF之使用程序的国际化
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。asp.net|js|程序 国际化,是指在你的使用程序中撑持多种言语和文明。这包含供应当地化的文本动静和格局(比方日期),以便活着界分歧中央的用户可以以一种他们了解的格局和言语来寓目你的web页面。跟着环球web的不休增加,这类范例的功效也变得日趋主要。我们将疾速地看一下每一个框架怎样同意你内在化页面文本(比方域标签)以供应分歧的当地化撑持。撑持分歧的当地化的JSF使用程序与别的J2EE使用程序完成体例差未几利用一样的完成体例-经由过程把当地文本数据存储到一个资本包属性文件中。你将对每种当地化撑持供应一个属性文件(每种当地化以一个言语代码和一个国度代码(比方en-US加以标记)。切换显现言语实际上是一个重定向到别的一个properties文件的成绩。在前一个ASP.NET刊行版本中,要在一个ASP.NET使用程序中撑持分歧的当地化相称贫苦,但是,在ASP.NET2.0中在这一方面有了很年夜的改善。比方,在ASP.NET2.0中,当在分歧言语之间切换时不必要从头编译。
为了使JSF使用程序撑持分歧当地化功效,我把一个WebReservations.properties文件增加到使用程序并完成了撑持en-US的当地化。预订页面的题目为"MakeaReservationforConferenceRoom"。我复杂地在这个资本绑定属性文件中增加了一个键/值对:
#示例ResourceBundle属性文件
ReserveRoomTeamLabel=ReservationTeam:
我能够为统一个组件创立任何数目的当地化特定的动静。然后,我必要告知使用程序怎样利用这个文件-经由过程把以下语句增加到faces-config.xml文件中:
<message-bundle>WebReservations.properties</message-bundle>
<locale-config>
<default-locale>en</default-locale>
<!--Addotherlocaleshere.-->
</locale-config>
经由过程援用一个资本包,你可使用一个到这个键的援用来取代在JSF标注中的文本。这里有一个例子:
<ui:labelbinding="#{ReserveRoom.lblReserveTeam}"id="lblReserveTeam"style="left:48px;top:96px;position:absolute"text="#{messages.ReserveRoomTeam}"/>
ASP.NET为分歧的当地化供应资本文件撑持。这些资本文件都有一个扩大名.resx。ASP.NET2.0中引进了资本表达式-你能够把它们放到ASP.NET标注中。这些表达式看上往相似于ASP.NET数据绑定表达式。注重,开辟者能够一同指定一个使用程序的当地和全局资本。在这个例子中,我创建了一个当地资本文件以响应于新的预订页面。
当地资本必要安排在一个文件夹"App_LocalResources"下。这个文件夹下的每个文件都应当具有相似于"{aspxpagename}].aspx.resx"的名字。我创立了一个文件Reservations.aspx.resx。在这个文件中,我为"ReservationTeam:"增加了一个出口-就象我在JSF使用程序所完成的那样。为使页面可以存取这些资本而且在运转时候可以给标签付与不异的文本,你能够增加上面的表达式:
<asp:LabelID="Tea"runat="server"Text=<%$Resources:ReservationsTeamLabel%>></asp:Label>
ASP.NET-增加当地化的文本
JSF-增加当地化的文本
假如你还没有开辟过一个完成国际化请求的使用程序,那末你未来极可能会做如许的事情。不外,不管是利用JSF仍是利用ASP.NET城市轻松地完成这类义务。在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。 同时也感谢博客园给我们这个平台,也感谢博客园的编辑们做成专题引来这么多高人指点。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!
页:
[1]