国际化(2)

1. resource_en_US.properties

username=xiongfeiEnglish

2. resource_zh_CN.properties

username=\u718A\u975E\u4E2D\u6587    (熊非中文)

JDK中提供了一个native2ascii工具程序,可以将某种本地字符集编码的字符转换成Unicode转义序列的形式
Dos下进入a.properties文件所在目录,运行下面命令将在当前目录下生成一个名为b.properties的文件

native2ascii -encoding gb2312 源文件 目标文件

native2ascii -encoding gb2312 a.properties b.properties


3. resource.properties

username=\u96C4\u98DE\u9ED8\u8BA4    (雄飞默认)

4. TestResourceBundle

import java.util.Locale;
import java.util.ResourceBundle;


public class TestResourceBundle {
	public static void main(String[] args) {
		Locale locale=Locale.US;
		String baseName="resource";
		readResource(baseName,locale);
	}
	public static void readResource(String baseName,Locale locale){
		/*
		 * param1:资源文件的基名
		 * param2:区 域
		 */
		ResourceBundle rb=ResourceBundle.getBundle(baseName, locale);
		String username=rb.getString("username");
		System.out.println("username= "+username);

	}

}
***********************************************************************************************************************

1.  login.jsp

<%@ page language="java" import="java.util.*,java.text.DateFormat" pageEncoding="UTF-8"%>

<%
 //获取服务器首选语言
 Locale locale=request.getLocale();
 System.out.println("locale= "+locale);
 
 //获取浏览器中选择的所有语言
 Enumeration em=request.getLocales();
 while(em.hasMoreElements()){
   System.out.println("~~~= "+em.nextElement());
 }
 
 //处理系统时间
 DateFormat df = DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM,locale);
 String dateStr=df.format(new Date());
 
 //国际化
 ResourceBundle rb=ResourceBundle.getBundle("resource", locale);
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    
    <title>My JSP 'index.jsp' starting page</title>
	
  </head>
  
  <body> 
  时间:<%=dateStr %>
  <form action="./LoginServlet" method="post">
      
      员工信息录入<br/>
      
                           <font color="red"><%=rb.getString("username") %></font><input type="text" value="" name="username" /> <br/>
                              密码:<input type="password" name="psw"/> <br/>
            验证码:<input name="checkcode" type="text" class="big-input" maxlength="20" value="" /><br/>
        <img src="${pageContext.request.contextPath }/ImageServlet" οnclick="nextPic();" id="pic" title="看不清,再来一张" /><br/>                 
                              保存用户名和密码<input type="checkbox" name="save" value="yes" /><br/>
 
            
            <input type="submit" value="保存" />
       
       
       <script type="text/javascript">
       function nextPic(){
         var picStr=document.getElementById("pic");
         //使用随机数
        // picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Math.random();
               
        //使用时间戳      
        picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Date.parse(new Date());
       
       }
       
       </script>
  </form>
  </body>
</html>

2. loginfnt.jsp

<%@ page language="java" import="java.util.*,java.text.DateFormat" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    
    <title>My JSP 'index.jsp' starting page</title>
	
  </head>
  <body> 
  <%
  		Date date=new Date();
  		pageContext.setAttribute("date",date);
   %>
   时间:<fmt:formatDate value="${date}" dateStyle="MEDIUM" timeStyle="MEDIUM" type="both"/>
  
  <fmt:bundle basename="resource">
  <form action="./LoginServlet" method="post">
      
      员工信息录入<br/>
      
 <fmt:message key="username"></fmt:message><input type="text" value="" name="username" /> <br/>
                              密码:<input type="password" name="psw"/> <br/>
            验证码:<input name="checkcode" type="text" class="big-input" maxlength="20" value="" /><br/>
        <img src="${pageContext.request.contextPath }/ImageServlet" οnclick="nextPic();" id="pic" title="看不清,再来一张" /><br/>                 
                              保存用户名和密码<input type="checkbox" name="save" value="yes" /><br/>
 
            
            <input type="submit" value="保存" />
       
       
       <script type="text/javascript">
       function nextPic(){
         var picStr=document.getElementById("pic");
         //使用随机数
        // picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Math.random();
               
        //使用时间戳      
        picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Date.parse(new Date());
       
       }
       
       </script>
  </form>
  </fmt:bundle>
  </body>
</html>

3. loginen_zh.jsp

<%@ page language="java" import="java.util.*,java.text.DateFormat" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
   
    
    <title>My JSP 'index.jsp' starting page</title>
	
  </head>
  <body> 
  <%
  		Locale l=Locale.CHINA;
  		String slocale=request.getParameter("locale");
  		if(slocale!=null){
  			if("zh".equals(slocale.trim())){
  				l=Locale.CHINA;
  			}
  			if("en".equals(slocale.trim())){
  				l=Locale.US;
  			}
  			
  		}
  		pageContext.setAttribute("l",l);
  		Date date=new Date();
  		pageContext.setAttribute("date",date);
   %>
   <!--改变语言-->
   <fmt:setLocale value="${l}"/>
   时间:<fmt:formatDate value="${date}" dateStyle="MEDIUM" timeStyle="MEDIUM" type="both"/>
  
 <fmt:setBundle basename="resource"/>
  <form action="./LoginServlet" method="post">
      
      员工信息录入<br/>
      
 <fmt:message key="username"></fmt:message><input type="text" value="" name="username" /> <br/>
                              密码:<input type="password" name="psw"/> <br/>
            验证码:<input name="checkcode" type="text" class="big-input" maxlength="20" value="" /><br/>
        <img src="${pageContext.request.contextPath }/ImageServlet" οnclick="nextPic();" id="pic" title="看不清,再来一张" /><br/>                 
                              保存用户名和密码<input type="checkbox" name="save" value="yes" /><br/>
 
            
            <input type="submit" value="保存" />
       
       
       <script type="text/javascript">
       function nextPic(){
         var picStr=document.getElementById("pic");
         //使用随机数
        // picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Math.random();
               
        //使用时间戳      
        picStr.src="${pageContext.request.contextPath }/ImageServlet?"+Date.parse(new Date());
       
       }
       
       </script>
  </form>
 <a href="${pageContext.request.contextPath}/loginen_zh.jsp?locale=zh">中文</a>
 <a href="${pageContext.request.contextPath}/loginen_zh.jsp?locale=en">English</a>
  </body>
</html>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值