`
g21121
  • 浏览: 694607 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

web项目国际化

阅读更多

        随着web项目的发展或多或少的会接触到国外的用户,这时就显示出了国际化得优势,国际化的好处就是在于项目一次性开发,不需后续代码的变更或少量变更就能做到支持更多语言,这给开发和维护带来了很多方便。

        国际化常用的方式有很多种,这里说一下比较常见的两种方式吧。

 

        一种是JSTL国际化:JSTL国际化在于不需要框架的支持,而且JSTL只要是Servlet2.0容器以上就支持,兼容性比较好。

        1.配置web.xml

<!-- jsp 标签库配置 -->
<jsp-config>
	<taglib>
		<taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
		<taglib-location>/WEB-INF/tld/c.tld</taglib-location>
	</taglib>
	<taglib>
		<taglib-uri>http://java.sun.com/jsp/jstl/fmt</taglib-uri>
		<taglib-location>/WEB-INF/tld/fmt.tld</taglib-location>
	</taglib>
	<taglib>
		<taglib-uri>http://java.sun.com/jsp/jstl/functions</taglib-uri>
		<taglib-location>/WEB-INF/tld/fn.tld</taglib-location>
	</taglib>
</jsp-config>

        并且 拷贝tld标签到/WEB-INF/tld/下。

        2.jsp页面:

<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

  JSTL 标签支持国际化的标签为

  <fmt:bundle> <fmt:message> <fmt:setBundle><fmt:param>

  <fmt:bundle> 功能:指定消息资源使用的文件

  <fmt:message>功能:显示消息资源文件中指定key的消息,支持带参数消息

  <fmt:param>

eg:
 <fmt:message key="$100312" bundle="${message}">

  <fmt:param value="g21121"/>

  </fmt:message>

  <fmt:message key="$100313" bundle="${message}">

  <fmt:param value="g21121"/>

  </fmt:message> 

        bundle标签中的message是资源文件的名称,用户可以根据需要自己定义,定义成message_zh_CN,message_en_US均可。

        key标签中的值是资源文件中对应的键值。

        fmt:param对应的就是动态参数,例如: $100313=你好,{0}.

        页面输出的结果就是:你好,g21121.

        3.用户可以根据情况定义一个公共的jsp,来判断和绑定不同语言的资源文件。

<c:if test="${not empty param.lan}">
	<c:if test="${param.lan=='zh'}">
		<fmt:setLocale value="zh_CN" scope="session"/>        
	</c:if>        
	<c:if test="${param.lan=='en'}">          
		<fmt:setLocale value="en_US" scope="session"/>        
	</c:if>     
</c:if>

 

        另一种就是struts的国际化:这种国际化代码实现比较简单,与struts结合使用比较方便,并且更易于修改。

        1.首先配置web.xml

<!-- jsp 标签库配置 -->
<jsp-config>
	<taglib>
		<taglib-uri>/struts-tags</taglib-uri>
		<taglib-location>
			/WEB-INF/tld/struts-tags.tld
		</taglib-location>
	</taglib>
</jsp-config>

        导入struts.tld到/WEB-INF/tld/目录下。

        2.配置struts.properties

#资源文件名称,例如:messages_zh_CN,messages_en_US
struts.custom.i18n.resources=messages
#是否重新加载国际化
struts.i18n.reload=true
#默认本地国际化,设置了这个属性就意味着无论用户怎样改变浏览器语言,服务器输出的页面都会采用以下语言
struts.locale=zh_CN
#国际化语言编码
struts.i18n.encoding=UTF-8

        3.配置jsp页面

<%@taglib prefix="s" uri="/struts-tags"%>
<!-- name对应资源文件的键值 -->
<s:text name="$1021"/>

 

        是不是非常简单呢!

        验证是否成功,打开浏览器,选择“工具”--“Internet选项”--“语言”,添加和删除自己想测试的语言即可。

 

  • tld.rar (20.8 KB)
  • 下载次数: 8
分享到:
评论

相关推荐

    超简单web页面国际化多语言

    在现代Web开发中,为了让网站或应用能够适应全球不同地区的用户,实现“国际化”(Internationalization,简称i18n)变得越来越重要。本主题主要关注如何通过纯前端技术实现Web页面的多语言切换,让内容能够以用户...

    JAVA WEB开发 国际化

    软件的国际化:软件开发时,要使它能同时对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的、符合来访者阅读习惯的页面或数据。

    WEB多语言 国际化 本地化

    在开发Web应用时,"WEB多语言 国际化 本地化"是一个关键的领域,它使得网站能够适应全球不同地区的用户,提供多种语言的界面和内容。这涉及到.NET框架中的全球化(Globalization)和本地化(Localization)概念。 ...

    java web应用国际化与分页

    Java Web应用的国际化(i18n)和分页是开发多语言支持和高效展示大量数据的关键技术。在Java Web环境中,Struts框架提供了一种优雅的方式来处理这两种需求。 国际化是使应用程序能够根据用户的地区和语言偏好显示不同...

    Web前端资源国际化

    在Web开发中,国际化(i18n,18代表英文单词“internationalization”中字母的数量)是一项重要的功能,它允许网站和应用根据用户的地域设置显示相应的语言内容。本篇文章将详细探讨如何利用jQuery_i18n_properties...

    JAVA Web實現國際化插件

    在Java Web开发中,实现国际化是一项重要的任务,它允许应用程序为不同地区的用户提供本地化的界面和内容。...开发者可以通过学习PPT详解和实际操作,进一步掌握这个插件的使用方法,提升项目的国际化能力。

    file input 按钮国际化

    在IT行业中,"国际化"(Internationalization)是一个重要的概念,特别是在开发支持多语言的应用程序时。这个过程涉及设计和构建应用程序的方式,使得它可以适应不同地区的文化、语言和格式要求。"file input 按钮...

    基于SSH框架的web项目

    它通过Action类和配置文件来定义请求处理的逻辑,同时提供国际化、拦截器等功能,增强了应用的灵活性和可定制性。 Spring框架则是一个全面的后端解决方案,它不仅包含IoC(控制反转)和AOP(面向切面编程),还集成...

    基于项目法的Web程序设计国际化教育教学改革研究.pdf

    本文探讨了基于项目法的Web程序设计国际化教育教学改革,旨在提升本科人才培养的国际化水平和综合素质,以适应全球化经济发展和人才竞争的需求。作者李晓会和吴昊以Web程序设计课程为背景,提出了一种教学改革方案,...

    struts2讲义_吴峻申

    1.2.7 Web项目国际化根由 16 1.2.8 SiteMesh页面布局框架简介 17 1.3 我们为什么要用Struts2 17 1.4 Web项目中使用Struts2初探 20 第2章 Web基础技术简介 31 2.1 B/S和C/S系统区别 31 2.2 JSP和Servlet介绍 32 2.3 ...

    struts国际化(项目)

    在“struts国际化(项目)”中,我们关注的是如何使应用程序支持多种语言,即国际化(Internationalization,通常缩写为i18n)。这个主题包括了资源包的创建、配置文件的设置以及在Struts中如何调用这些资源来显示...

    JInto国际化插件(英文原版)

    JInto国际化插件的引入,极大地提升了Java Web项目的国际化开发效率,让开发者能够更专注于业务逻辑,而不是琐碎的资源管理。通过熟练掌握和运用JInto,开发者可以更轻松地应对多语言应用的挑战。

    idea创建maven web项目标准结构源码

    2. **src/main/resources**:这里存放的是非Java源代码的资源文件,如配置文件(如`application.properties`)、国际化消息文件(`messages.properties`)等。 3. **src/main/webapp**:Web应用的主要目录,包含...

    Web项目所需的包

    它包含了一些核心标签,如条件语句、循环、国际化等,还有XML处理、SQL执行等功能。使用JSTL可以减少JSP页面中的脚本元素,提高页面的可读性和可维护性。 这些库的组合表明这是一个典型的Java Web项目,可能涉及到...

    JavaWeb国际化实例

    JavaWeb国际化实例是一种常见的开发需求,特别是在构建面向全球用户的Web应用程序时。这个实例结合了JAVA、国际化、多语言以及SpringMVC框架,旨在提供一种灵活且易于实施的解决方案。下面将详细阐述这些知识点: 1...

    20个JAVA WEB项目源代码设计资料

    Java Web项目源代码设计资料是一份宝贵的资源,涵盖了多个实际开发中的应用场景,旨在帮助开发者深入理解和实践Java在Web开发中的应用。这些项目源代码通常包括了前端界面、后端服务、数据库交互以及业务逻辑处理等...

Global site tag (gtag.js) - Google Analytics