利用jstl标签实现国际化
为了实现国际化,我们在jsp中所用到的标签等应该避免使用硬编码,而应该使用资源文件中的key来代替,以动态的呈现不同的语言。运用jstl实现国际化有一下步骤:
- 编写中英文资源文件 我们编写两个资源文件globalMessages_en_US.properties和globalMessages_zh_CN.properties
-
英文资源文件(globalMessages_en_US.propertie)内容:id=ID name=Your Name中文资源文件内容:id=用户IDname=用户名
- 为防止中文乱码,将中文资源文件转换成unicode编码
-
id=\u7528\u6237ID name=\u7528\u6237\u540D
-
- jsp中利用jstl标签引用资源文件,同时给该项目导入jstl.jar和standard.jar这两个jar包,在jsp页面中引入下面连个库文件
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
....
<body> <!-- <fmt:setLocale value="${param.setLocale}"/> 区域语言的值从传过来的参数中得到 --> <fmt:setLocale value="en_US"/> <!--指定区域语言--> <fmt:bundle basename="globalMessages"> <!-- 指定使用basename为globalMessages的资源文件,也即资源文件第一个单词为globalMessages--> <center> <table> <tr> <td><fmt:message key="email"/></td> <td><input type="text" name="email"></td> </tr> </table> </center> </fmt:bundle> </body>