评论

收藏

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

开发技术 开发技术 发布于:2021-10-20 16:30 | 阅读数:432 | 评论:0

今天第一次听说页面国际化这个词,所以查资料,顺便做了一个小页面,做做记录。
首先是两个资源文件,分别为msg_en_US.properties和msg_zh_CN.properties
DSC0000.jpg

DSC0001.png

显然中文字符是需要转换过来的。
这是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" "https://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?language=zh" rel="external nofollow" >简体中文</a>|<a href="/International/test.jsp?language=en" 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>
结果图
DSC0002.png

DSC0003.png

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

关注下面的标签,发现更多相似文章