利用JSTL标签实现项目国际化


一、关于国际化

国际化:,便是针对世界上不同地区、不同国家进行不同的显示
我们举一个例子:
同一个页面, 当中国人查看页面,页面显示的是 你好
而当美国人查看页面页面显示的时 WELCOME

从这个例子可以看出国际化极大地满足了不同地区,不同国家来访者的阅读需求

二、步骤

1.引入jar

jstl-1.2.jar
standard-1.1.2.jar

2.创建资源文件

即让“你好“和welcome对应,通过资源文件将你好和welcome配成一对
关于资源文件的命名,有这下面这些要求


## 命名规则
```c
	资源文件名											简介
基名_en.properties									所有英文语言的资源
基名_en.US_properties								针对美国地区,英文语言的资源
基名_zh.properties									所有的中文语言的资源
基名_zh_CN.properties								针对中国大陆的中文语言资源
基名_zh_HK.properties								针对中国香港的中文语言资源
基名.properties										默认资源文件,如果请求相应语言的资源文件不存在,将使用此资源文件						

基名我们可以起作
					1) i18n
					2)	base

i18n: internationalization,单词太长,我们只取开头的i和结尾的n,中间18个字符用18做代替

我们创建三个文件,分别是
1)base_zh_CN.properties(中文资源文件)
2)base_en_US.properties (英文资源文件)
3)base.properties(前两个文件中没有找到信息会到此文件来找)

注意我们在文件中的中文会自动的被jdk的bin目录下的native2ascii.exe转换成ASCII码

base_zh_CN.properties文件:

resource.welcome=\u4F60\u597D
resource.exist=\u9000\u51FA

resource.welcome=你好
resource.exist=退出

base_zh_CN.properties文件:

resource.welcome=WELCOME
resource.exist=EXIST

3.配置springmvc.xml加载资源文件

	<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
		<property name="basename" value="base"></property>
	</bean>
1.将ResourceBundleMessageSource在程序加载时加入springmvc,SpringMVC在启动时会自动查找一个id="messageSource"的bean,如果有则自动加载
2.如果配置了ResourceBundleMessageSource,则该类会在程序响应时介

4.测试

我们测试通过点击index.jsp的超链接,跳转到success,jsp页面
index.jsp:

	testBase
	<a href="testBase">jstl国际化</a>

Controller:

//	测试国际化
	@RequestMapping(value = "testBase")
	public String testBase() {
		return "success";
	}

success.jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"  %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<fmt:message key="resource.welcome"></fmt:message>
	<fmt:message key="resource.exist"></fmt:message>
</body>
</html>

当浏览器设置为中文时我们查看页面
在这里插入图片描述

当浏览器设置为英文时我们查看页面
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

温文艾尔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值