要求:创建一个首页,默然显示英文信息,但可以让用户选择使用英文,繁体中文或简体中文.

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 国际化访问首页选择展示不同字体小例子的更多相关文章

  1. 4_3.springboot2.x之默认访问首页和国际化

    1.默认访问首页 1.引入thymeleaf和引入bootstrap <!--引入thymeleaf--> <dependency> <groupId>org.sp ...

  2. MySQL+Service+Servlet+Jsp实现Table表格分页展示数据

    下面以一个示例讲解如何使用MySQL+Service+Servlet+Jsp实现Table表格分页展示数据: eg:请假管理系统 要求如下: 一.打开首页页面, 访问查询请假记录的 servlet , ...

  3. 怎么修改tomcat默认访问首页

    一般情况下安装好tomcat之后我们的默认访问首页是index了,但我们如果要修改或增加一个默认首页,我们可参考下面办法来解决. 通过 ip:port 访问到的是 tomcat 的管理页面,其他常规部 ...

  4. IntelliJ IDEA 2017版 spring-boot2.0.访问jsp页面;IDE Springboot JSp 页面访问

    1.编译器设置. 生成项目后,点击file 点开Modules 选中main,右键 选择新建文件夹 选中外部 右边添加 选中项目如图: 选好后选OK退出 webapp带点了,就是成功了,在这里建立的J ...

  5. java:maven中webapp下的jsp不能访问web-inf下面的bean

    java:maven中webapp下的jsp不能访问web-inf下面的bean 当然 WEB-INF下面的文件是不能访问的,只能吧jsp文件放入到WEB-INF下面,然后通过配置WEB-INF下we ...

  6. jsp网站访问次数统计的几种方法

    我采用的是jsp网页,但是不管采用什么语言,原理是一样的. 第一种,单页面统计.就是说,只要点击这个页面就会统计一次. <body> <%!//在这种标记中定义的变量为全局变量 in ...

  7. 自建目录中jsp页面访问servlet路径出错404

    ---恢复内容开始--- 自建目录中jsp页面访问servlet路径出错404 使用eclipse建立的项目,总是会遇到路径问题,比如jsp页面访问servlet,jsp在默认的路径.jsp在自建目录 ...

  8. nginx thinkphp只能访问首页

    代码部署到了服务器上,发现无论怎样请求,都是跳转到index/index/index(模块/控制器/方法),最后需要nginx重新地址即可 参考:Linux下Nginx部署Thinkphp5访问任何地 ...

  9. nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态

    nginx报错:403 Forbidden 并且访问首页index.php是下载文件的状态,不能正常解析php 系统有其他两个站访问是正常的 看日志没有看到明显的错误 搜索了下: 答案如下: php的 ...

随机推荐

  1. day03 Python字典dict的增删查改及常用操作

    字典是python中唯一的映射类型,采用键值对(key-value)的形式存储数据.python对key进行哈希函数运算,根据计算的结果决定value的存储地址,所以字典是无序存储的,且key必须是可 ...

  2. WebForm内置对象:Session、Cookie,登录和状态保持

    1.Request -获取请求对象 string s =Request["key"]; 2.Response  -  响应请求对象 Response.Redirect(" ...

  3. Linux中安装Python2.7

    原文地址:http://www.jianshu.com/p/6425d18d3e47   安装依赖的库 yum -y install python-devel openssl openssl-deve ...

  4. jmeter如何玩?

    ApacheJMeter是Apache组织开发的基于Java的压力测试工具.用于对软件做压力测试,它最初被设计用于Web应用测试但后来扩展到其他测试领域. 它可以用于测试静态和动态资源例如静态文件.J ...

  5. MySql 中的<=>操作符

    今天在学习数据库的索引优化时,关于memory存储引擎的的hash索引时,看到了操作符<=> ,这个操作符还是第一次见到,于是上网查了一下.我想大家应该知道 =  !=   <> ...

  6. 原生js实现九宫格,全解析

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. 王之泰201771010131《面向对象程序设计(java)》第二周学习总结

    王之泰201771010131<面向对象程序设计(java)>第二周学习总结 第一部分:理论知识学习部分 第三章 第三章内容主要为Java语言的基础语法,主要内容如下 1.基础知识 1.1 ...

  8. Ubuntu 18.04拨号上网及校园网开启IPV6

    Ubuntu 18.04下有两种方法实现拨号上网,第一种是通过图形界面添加,需要开启自动连接,并且要关闭以太网的自动连接.(不推荐这种连接方式)这里介绍第二种,通过pppoeconf命令进行拨号. 关 ...

  9. 编码原则 之 Hollywood Principle

    原文 The Hollywood Principle states, “Don’t Call Us, We’ll Call You.” It’s closely related to the Depe ...

  10. Learning-Python【22】:面向对象初识

    一.面向过程:是一种编程思想,核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么然后干什么,基于该编程思想写程序就好比在设计一条流水线,是一种机械式的思维方式 优点:把复杂问题流程化,进而简 ...