ResourceBundle类在jsp中的国际化

JAVA学习网 2017-07-12 12:01:05

今天第一次听说页面国际化这个词,所以查资料,顺便做了一个小页面,做做记录。

首先是两个资源文件,分别为msg_en_US.properties和msg_zh_CN.properties

显然中文字符是需要转换过来的。

这是jsp页面的代码

 1 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
 2 
 3 <%@page import="java.util.*"%>
 4 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
 5 <html>
 6     <head>
 7         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 8         <title>国际化</title>
 9         <style type="text/css">
10         div{
11             width: 300px;
12             text-align: center;
13             margin: 0 auto;
14         }
15         </style>
16     </head>
17     
18     <body>
19         <a href="/International/test.jsp?language=zh">简体中文</a>|<a href="/International/test.jsp?language=en">English</a>
20         <%
21             ResourceBundle bund=ResourceBundle.getBundle("msg",request.getLocale());
22             String str=request.getParameter("language");
23             if(str!=null){
24                 if("zh".equals(str)){
25                     bund=ResourceBundle.getBundle("msg",Locale.CHINA);
26                 }
27                 else if("en".equals(str)){
28                     bund=ResourceBundle.getBundle("msg",Locale.US);
29                 } 
30             }
31         %>
32         <div>
33             <h1><%=bund.getString("inf") %></h1>
34             <table>
35                 <tr>
36                     <td><%=bund.getString("name") %>:</td>
37                     <td><input type="text" name="name"/></td>
38                 </tr>
39                 <tr>
40                     <td><%=bund.getString("sex") %>:</td>
41                     <td><input type="text" name="sex"/></td>
42                 </tr>
43                 <tr>
44                     <td><%=bund.getString("age") %>:</td>
45                     <td><input type="text" name="age"/></td>
46                 </tr>
47                 <tr>
48                     <td><%=bund.getString("tel") %>:</td>
49                     <td><input type="text" name="tel"/></td>
50                 </tr>
51             </table><br/>
52             <input type="submit" value="<%=bund.getString("submit")%>" name="submit"/>
53         </div>
54     </body>
55 </html>

结果图


 

阅读(822) 评论(0)