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的 ...
随机推荐
- 关于mongodb基础的命令
banji----数据库 class---集合 1.查看所在的数据库 db 2.查看所有的数据库 show dbs 3.创建数据库 use banji #查看所有的数据库show dbs,创建的数据库 ...
- window中的attrib命令
attrib -s -h -r autorun.infattrib +s +h +r autorun.infattrib -s -h -r my.icoattrib +s +h +r my.ico
- Beta阶段敏捷冲刺日志的集合贴
Beta阶段冲刺前计划与安排:http://www.cnblogs.com/software-teamwork/p/9060118.html Day1(5.22):https://www.cnblog ...
- Java基础(basis)-----关键字final和static的作用
1.关键字final final修饰类:这个类就不能被继承 final修饰方法:不能被重写 final修饰属性:此属性就是一个常量,一旦初始化后,不可再被赋值.习惯 ...
- flask 操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI']
flask 操作数据时,db的要在app.config设置之后声明:如app.config['SQLALCHEMY_DATABASE_URI'] 否则,运行程序时app.config里面做的设置就不会 ...
- 常用git命令总结 初始化git库操作 git 子模块
查看 git status 查看状态 Gitk 界面各个版本查看 添加 Git add filename 添加指定文件 Git add . 操作未暂存的文件 Git add -A 操作所有文件 包括删 ...
- jquery首页图片轮播
css样式 .bannerBox {position: relative;width: 100%;height: 348px;margin:0px auto;}.bannerBox .bannerLi ...
- 【题解】Luogu P3287 [SCOI2014]方伯伯的玉米田
原题传送门 一眼就能看出来这是一道dp题 显而易见每次操作的右端点一定是n,每株玉米被拔高的次数随位置不下降 用f(i,j) 表示以第i 株玉米结尾它被拔高了j 次的最长序列长度. \(f(i,j)= ...
- AJAX跨域问题以及解决思路(更新中)
跨域的三大原因(同时满足) 浏览器限制 跨域 XHR请求 解决思路: 让浏览器不做限制,指定参数,让浏览器不做校验,但该方法不太合理,它需要每个人都去做改动. 不要发出XHR请求,这样就算是跨域,浏览 ...
- 百度AI搜索引擎
一.爬虫协议 与其它爬虫不同,全站爬虫意图爬取网站所有页面,由于爬虫对网页的爬取速度比人工浏览快几百倍,对网站服务器来说压力山大,很容易造成网站崩溃. 为了避免双输的场面,大家约定,如果网站建设者不愿 ...