您所在的位置: 首页>>读书频道>>设计开发>>Java系列>>

5.1.3 资源包的访问

http://book.51cto.com  2008-04-28 13:16  邬继成  电子工业出版社  我要评论(0)

5.1.3  资源包的访问

资源包建立好后,就可以对其进行访问了。访问的方式主要有两种:一种在JSP页面中通过<bean:message>标记来访问,另一种是在程序中访问。

在JSP页面中访问资源包,需要使用<bean:message>标记。在使用该标记之前,必须首先部署包含此标记的Struts标记库文件struts-bean.tld,具体操作步骤如下:

(1)将Struts发布包中提供的标记库文件struts-bean.tld复制到待进行国际化的应用程序所在项目的WEB-INF目录下。
(2)在使用该标记库的应用程序的部署文件web.xml的<web-app>元素中添加相应的<taglib>元素,具体语法格式如下:

 <taglib>
<taglib-uri>/WEB-INF/struts-bean.tld</taglib-uri>
<taglib-location>/WEB-INF/struts-bean.tld</taglib-location>
</taglib>
(3)在使用<bean:message>标记的JSP源文件的开头引入此标记库,具体格式如下:
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
在程序中访问资源包主要是在Action类中用到。Action提供了getResources()方法可以获得org.apache.struts.MessageResources类的一个实例。MessageResources代表资源包的一个类,它是一个抽象类,因此需要由Action的基类中的getResources()方法来返回它的一个实例。以下是一段程序示例:
//获得用户的Locale信息
Locale locale = getLocale(request);
//获取资源包
MessageResources message = getResources(request);
//从资源包中得到消息文本
String title = message.getMessage(locale,"title.login");
可以看到在调用了getResources()方法后,便可以获得相应的资源包,接下来,就可以按照request对象中的Locale信息来获取相应资源包中的文本。值得注意的是getMessage()有几种形式,如下所示:

 getMessage(String key)
getMessage(Locale locale, String key)
getMessage(Locale locale, String key, Object[] args)
其中,最后一种getMessage()方法可以传入参数给资源包中的文件,更加灵活地实现消息的输出。
【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
NAC安全访问控制
开源虚拟化技术Xen
Sun以10亿美元并购开源数据库厂商MySQL
网络访问中断大排查
Ubuntu 中文开源频道
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有