`
shuzheng5201314
  • 浏览: 203279 次
  • 来自: 北京
社区版块
存档分类
最新评论

jstl国际化的一些实战经验

 
阅读更多

由于工作原因需要做一个支持国际化的项目,之前只简单了解过原理,却没有实际运用过,今天需要做一个支持中文和日文两国语言的网站。用jstl做更方便一些,但网上的教程能不能再烂一些,复制也就罢了还缺头少尾的,而且实现步骤繁琐,最后我会贴出我的代码。

 

首先我新建了语言包:

resource_ja-JP.properties

resource_zh-CN.properties

我想大多数人都是跟我一样这样做,(ja-JP)(zh-CN)是本地浏览器语言编码为后缀,但是问题来了

 

都知道(ja-JP)(zh-CN)等是本地浏览器设置的语言编码,错是没错,但我发现日语的编码不止这一中,有:

ja_JP

ja_JP.eucjp

ja_JP.sjis

ja_JP.ujis

ja_JP.utf8

japanese

japanese.euc

部分编码如图:




这么多种,而且用chrome浏览器的的用户也可能发现中文也分很多种:如:

 


分别是:zh 、 zh-CN 、 zh-TW 等,那我们的资源包起名的时候后缀该怎么命名呢?总不能每个编码都新建个后缀吧,网上搜了下相关内容没什么进展。

我本想只做其中一种,分别命名为:resource_ja.properties和resource_zh.properties,没想到居然兼容了上面全部的语言编码,活见鬼!

 

页面运用代码也贴出来:

<%@ page contentType="text/html; charset=utf-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<fmt:setBundle basename="resource"/>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title><fmt:message key="Home"/></title>
</head>
<body>
${header['accept-language']}
</body>
</html>

 

测试简洁完美!

  • 大小: 58.2 KB
  • 大小: 28.3 KB
  • 大小: 3.6 KB
分享到:
评论

相关推荐

    jstl标准开发jar包

    4. **国际化和本地化支持**:JSTL提供`fmt`标签库来支持多语言环境,如`&lt;fmt:message&gt;`用于获取消息资源,`&lt;fmt:formatNumber&gt;`用于格式化数字等,这些标签可以帮助开发者轻松实现应用的国际化。 5. **数据库操作**...

    JSTL in Action

    《JSTL in Action》这本书对于初学者和有经验的开发者来说都是宝贵的资源,它不仅解释了JSTL的基本概念,还提供了丰富的实战案例,帮助读者深入理解和掌握这个强大的工具。通过阅读这本书,你将能够熟练运用JSTL解决...

    JSTL深入详解,JSTL学习文档

    2. **Format标签库**:支持日期、数字的格式化和国际化,例如`&lt;fmt:formatDate&gt;`和`&lt;fmt:message&gt;`。 3. **XML标签库**:处理XML文档,如解析、操作XML数据,例如`&lt;x:parse&gt;`和`&lt;x:out&gt;`。 4. **Function标签库**...

    JSTL 标准标签库

    JSTL的fmt库提供了`&lt;fmt:bundle&gt;`、`&lt;fmt:message&gt;`和`&lt;fmt:formatDate&gt;`等标签,帮助开发者实现页面的国际化和本地化功能。 **6. 实战应用:** 在实际项目中,JSTL常用于构建动态导航菜单、显示数据列表、处理表单...

    Manning - JSTL in Action

    JSTL是Java社区为了简化JavaServer Pages(JSP)开发而推出的一个开源标签库,它提供了一系列预定义的标签,用于处理常见的任务,如迭代、条件判断、国际化、XML处理等,从而降低了对Java脚本的依赖,提高了代码的...

    JSTL入门标准教程

    JSTL的核心是它的一组标签,这些标签涵盖了常见的页面控制逻辑,如迭代、条件判断、国际化、XML处理等,旨在减少在JSP页面中使用Java脚本的频率,从而提高代码的可维护性和可移植性。 **二、JSTL的主要组件** JSTL...

    jstl学习资源包

    2. **国际化 (I18N)**:通过 `&lt;fmt:bundle&gt;` 和 `&lt;fmt:message&gt;` 标签支持多语言环境。 3. **SQL 库 (SQL)**:提供与数据库交互的能力,如 `&lt;sql:update&gt;`、`&lt;sql:query&gt;` 等。 4. **XML 库 (XML)**:用于处理 XML...

    jstl资料,很棒

    1. **Core标签库**:提供了控制流程(如循环、跳转)、条件判断(如if、choose)、国际化支持等功能。 2. **XML标签库**:用于XML文档的处理,包括解析、查询、转换等操作。 3. **JDBC标签库**:简化了数据库操作,...

    jstl语法ppt课件

    2. **I18N & Format**: 处理国际化和格式化任务。 3. **SQL**: 用于执行数据库操作。 4. **XML**: 处理XML文档。 ### 二、JSTL导入与配置 在JSP页面中使用JSTL前,需要导入相应的库并配置`web.xml`。首先,在`WEB-...

    JSTL视频.rar

    3. **i18n**: 国际化支持,用于处理不同语言环境下的文本资源,便于创建多语言网站。 4. **sql**: 支持数据库查询和操作,可以方便地在JSP页面中执行SQL语句,并处理查询结果。 5. **core**: 核心库,包含许多基本...

    JSTL.zip_Servlets_jsp

    2. **I18N & Format(国际化与格式化库)**:支持国际化和日期/数字的格式化。 3. **XML(XML库)**:用于处理XML文档,包括解析、操作和转换XML数据。 4. **Functions(函数库)**:包含了一些常用的辅助函数,...

    jstl教程(综合文档)

    JSTL是JavaServer Pages标准标签库,它提供了一组用于处理常见任务的JSP标签,如迭代、条件语句、XML处理、国际化和URL操作等。JSTL的使用极大地提高了JSP页面的可读性和可维护性,减少了在页面中编写大量Java脚本的...

    JSTL标签详解入门首选

    这两个标签使得输出的数据更加符合国际化和本地化的需要。 最后,我们讨论**FN标签库**,即EL(Expression Language)的函数库。这些函数提供了一些额外的字符串处理、数组操作等实用功能。例如,`&lt;fn:length&gt;`可以...

    jstl 文档 教程

    - `&lt;fmt:message&gt;`:用于国际化(i18n)和本地化(l10n),获取资源文件中的消息。 **3. JSTL fn标签库**: - 提供了一系列的实用函数,如字符串操作、数组操作、集合操作等,如`&lt;fn:length&gt;`计算长度,`...

    jstl 标签学习(全)

    这个库提供了国际化和本地化支持,以及数据格式化的功能。 - `&lt;fmt:formatDate&gt;`:格式化日期。 - `&lt;fmt:message&gt;`:获取资源文件中的消息。 - `&lt;fmt:setBundle&gt;`:设置当前的资源包。 3. **XML处理标签库(XML...

    j2ee:servlet练习短信项目,包含过滤器的使用、EL表达式和JSTL标准标签库的使用

    在短信项目中,JSTL可能被用来执行常见的任务,如控制流程(c:if、c:choose)、迭代(c:forEach)、国际化(fmt:formatNumber、fmt:message)等。例如,`&lt;c:out&gt;`标签可以安全地输出变量值,避免XSS攻击;`&lt;c:set&gt;`...

Global site tag (gtag.js) - Google Analytics