Jsp 国际化访问首页选择展示不同字体小例子
要求:创建一个首页,默然显示英文信息,但可以让用户选择使用英文,繁体中文或简体中文.
1.编写hello_en_US.txt,内容如下:
cc.openhome.welcome=welcome
cc.openhome.font=English
cc.openhome.name=This is your front page
2.编写hello_zh_CN.txt,内容如下:
cc.openhome.welcome=欢迎
cc.openhome.font=简中
cc.openhome.name=这是你的预设首页
3.编写hello_zh_TW.txt,内容如下:
cc.openhome.welcome=歡迎
cc.openhome.font=繁中
cc.openhome.name=這是你的預設首頁
4.文件编码需要注意:
在idea18 中 英文和简体中文 .txt文本编辑采用的UTF-8格式,编码格式使用的是:jdk自带的native2ascii 生成 .propertities
$ native2ascii -encoding utf-8 hello_en_US.txt hello_en_US.properties
中文繁体编码采用的big5 编码方式,需要把编辑器设置为Big5编码格式,类似:编码为Big5
$ native2ascii -encoding Big5 hello_zh_TW.txt hello_zh_TW.properties
5.处理请求jsp
<%--
* created by on 12/4/18
homework p282 7-1
--%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="java.util.ResourceBundle" %>
<%@ page import="java.util.Locale" %>
<%@ page import="javax.servlet.jsp.jstl.fmt.LocalizationContext" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" pageEncoding="UTF-8" %>
<%
ResourceBundle zh_TW = ResourceBundle.getBundle("cc.openhome.hello", new Locale("zh","TW"));
ResourceBundle zh_CN = ResourceBundle.getBundle("cc.openhome.hello",new Locale("zh","CN"));
ResourceBundle ja_JP = ResourceBundle.getBundle("cc.openhome.hello",new Locale("ja","JP"));
ResourceBundle en_US = ResourceBundle.getBundle("cc.openhome.hello",new Locale("en","US")); pageContext.setAttribute("zh_TW",new LocalizationContext(zh_TW));
pageContext.setAttribute("zh_CN",new LocalizationContext(zh_CN));
pageContext.setAttribute("ja_JP",new LocalizationContext(ja_JP));
pageContext.setAttribute("en_US",new LocalizationContext(en_US)); %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<c:choose>
<c:when test="${param.local =='en_US'}">
<title><fmt:message bundle="${en_US}" key="cc.openhome.welcome"/></title>
</c:when>
<c:when test="${param.local =='zh_CN'}">
<title><fmt:message bundle="${zh_CN}" key="cc.openhome.welcome"/></title>
</c:when>
<c:when test="${param.local =='zh_TW'}">
<title><fmt:message bundle="${zh_TW}" key="cc.openhome.welcome"/></title>
</c:when>
<c:otherwise>
<title><fmt:message bundle="${en_US}" key="cc.openhome.welcome"/></title>
</c:otherwise>
</c:choose>
<style type="text/css">
#menu li {
float: left;
border: 27px solid #fff;
line-height : 33px;
height: 10px;
list-style-type: none;
}
</style>
</head>
<body> <ul id="menu">
<li>
<a href='<c:url value="index.jsp">
<c:param name="local" value="en_US"/>
</c:url> '>
<fmt:message bundle="${en_US}" key="cc.openhome.font"/>
</a>
</li>
<li>
<a href='<c:url value="index.jsp">
<c:param name="local" value="zh_CN"/>
</c:url> '>
<fmt:message bundle="${zh_CN}" key="cc.openhome.font"/>
</a>
</li>
<li>
<a href='<c:url value="index.jsp">
<c:param name="local" value="zh_TW"/>
</c:url> '>
<fmt:message bundle="${zh_TW}" key="cc.openhome.font"/>
</a>
</li>
</ul>
<br><br><br><br>
<hr>
<c:choose>
<c:when test="${param.local =='en_US'}">
<fmt:message bundle="${en_US}" key="cc.openhome.name"/>
</c:when>
<c:when test="${param.local =='zh_CN'}">
<fmt:message bundle="${zh_CN}" key="cc.openhome.name"/>
</c:when>
<c:when test="${param.local =='zh_TW'}">
<fmt:message bundle="${zh_TW}" key="cc.openhome.name"/>
</c:when>
<c:otherwise>
<fmt:message bundle="${en_US}" key="cc.openhome.name"/>
</c:otherwise>
</c:choose>
</body>
</html>
6.运行效果

7.总结:
(1).设计 jstl核心标签库的使用.<c choose>,<c when>,<c otherwise>,<c url> <fmt bundle>,<fmt message>.
(2).国际化处理流程的简单理解.
(3).前端页面的简单调试.
(4).有待优化,重复代码写的太多.
Jsp 国际化访问首页选择展示不同字体小例子的更多相关文章
- 4_3.springboot2.x之默认访问首页和国际化
		
1.默认访问首页 1.引入thymeleaf和引入bootstrap <!--引入thymeleaf--> <dependency> <groupId>org.sp ...
 - MySQL+Service+Servlet+Jsp实现Table表格分页展示数据
		
下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...
 - 怎么修改tomcat默认访问首页
		
一般情况下安装好tomcat之后我们的默认访问首页是index了,但我们如果要修改或增加一个默认首页,我们可参考下面办法来解决. 通过 ip:port 访问到的是 tomcat 的管理页面,其他常规部 ...
 - IntelliJ IDEA 2017版 spring-boot2.0.访问jsp页面;IDE Springboot JSp 页面访问
		
1.编译器设置. 生成项目后,点击file 点开Modules 选中main,右键 选择新建文件夹 选中外部 右边添加 选中项目如图: 选好后选OK退出 webapp带点了,就是成功了,在这里建立的J ...
 - java:maven中webapp下的jsp不能访问web-inf下面的bean
		
java:maven中webapp下的jsp不能访问web-inf下面的bean 当然 WEB-INF下面的文件是不能访问的,只能吧jsp文件放入到WEB-INF下面,然后通过配置WEB-INF下we ...
 - jsp网站访问次数统计的几种方法
		
我采用的是jsp网页,但是不管采用什么语言,原理是一样的. 第一种,单页面统计.就是说,只要点击这个页面就会统计一次. <body> <%!//在这种标记中定义的变量为全局变量 in ...
 - 自建目录中jsp页面访问servlet路径出错404
		
---恢复内容开始--- 自建目录中jsp页面访问servlet路径出错404 使用eclipse建立的项目,总是会遇到路径问题,比如jsp页面访问servlet,jsp在默认的路径.jsp在自建目录 ...
 - nginx thinkphp只能访问首页
		
代码部署到了服务器上,发现无论怎样请求,都是跳转到index/index/index(模块/控制器/方法),最后需要nginx重新地址即可 参考:Linux下Nginx部署Thinkphp5访问任何地 ...
 - nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态
		
nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态,不能正常解析php 系统有其他两个站访问是正常的 看日志没有看到明显的错误 搜索了下: 答案如下: php的 ...
 
随机推荐
- hive 基础
			
Apache的顶级项目,(java) 2008年Facebook公司开源给Apache基金会 官网:http://hive.apache.org/ hive 将SQL转换成MapReduce程序,并将 ...
 - 使用msf对tomcat测试
			
1.1 使用nmap命令对目标主机进行扫描.单击桌面空白处,右键菜单选择"在终端中打开". 1.2 在终端中输入命令"nmap –sV 192.168.1.3" ...
 - 【Checkio Exercise】Robot Sort
			
Robot Sort All of the refined ingots should be sorted by size in each lot while passing by on a conv ...
 - 缓存淘汰算法---LRU转
			
1. LRU1.1. 原理 LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”. ...
 - Linux NFS挂载
			
Linux NFS挂载 一.NFS挂载 192.25.10.101/home/sharedata/azkaban/ODS_HS08 挂载到 192.25.10.102/home/data_azkaba ...
 - for循环介绍
			
流程控制之for循环names=['yb','zs','yxd','lb'] i=0 while i < len(names): #4 < 4 print(names[i]) i+=1 # ...
 - Learning-Python【27】:异常处理
			
一.错误与异常 程序中难免会出现错误,而错误分为两种 1.语法错误:这种错误,根本过不了 Python 解释器的语法检测,必须在程序执行前就改正 2.逻辑错误:比如用户输入的不合适等一系列错误 那什么 ...
 - redis缓存服务器集群搭建
			
一.安装redis 1.下载redis [root@redis ~]# wget http://download.redis.io/releases/redis-4.0.11.tar.gz 2.安装编 ...
 - Jade入门学习笔记
			
jade是超高性能的node JavaScript模板引擎,有着非常强大的API和大量杰出的特性.它主要针对node的服务端.由于商标的原因,改为Pug,哈巴狗.Pug有它本身的缺点--可移植性差,调 ...
 - ckeditor5 增加居中alignment
			
https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/installing-plugins.html 克隆下来 gi ...