ResourceBundle类在jsp中的国际化实现方法

(编辑:jimmy 日期: 2024/11/11 浏览:2)

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

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

ResourceBundle类在jsp中的国际化实现方法 

ResourceBundle类在jsp中的国际化实现方法

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

这是jsp页面的代码

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>国际化</title>
  <style type="text/css">
  div{
   width: 300px;
   text-align: center;
   margin: 0 auto;
  }
  </style>
 </head>
 
 <body>
  <a href="/International/test.jsp" rel="external nofollow" >简体中文</a>|<a href="/International/test.jsp" rel="external nofollow" >English</a>
  <%
   ResourceBundle bund=ResourceBundle.getBundle("msg",request.getLocale());
   String str=request.getParameter("language");
   if(str!=null){
    if("zh".equals(str)){
     bund=ResourceBundle.getBundle("msg",Locale.CHINA);
    }
    else if("en".equals(str)){
     bund=ResourceBundle.getBundle("msg",Locale.US);
    } 
   }
  %>
  <div>
   <h1><%=bund.getString("inf") %></h1>
   <table>
    <tr>
     <td><%=bund.getString("name") %>:</td>
     <td><input type="text" name="name"/></td>
    </tr>
    <tr>
     <td><%=bund.getString("sex") %>:</td>
     <td><input type="text" name="sex"/></td>
    </tr>
    <tr>
     <td><%=bund.getString("age") %>:</td>
     <td><input type="text" name="age"/></td>
    </tr>
    <tr>
     <td><%=bund.getString("tel") %>:</td>
     <td><input type="text" name="tel"/></td>
    </tr>
   </table><br/>
   <input type="submit" value="<%=bund.getString("submit")%>" name="submit"/>
  </div>
 </body>
</html>
 

结果图

ResourceBundle类在jsp中的国际化实现方法

ResourceBundle类在jsp中的国际化实现方法 

以上这篇ResourceBundle类在jsp中的国际化实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。