首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

经验18-JavaWEB国际化类和jstl对应的标签案例分析

2012-11-26 
心得18--JavaWEB国际化类和jstl对应的标签案例分析1.locale类测试package com.hbsi.demoimport java.util

心得18--JavaWEB国际化类和jstl对应的标签案例分析

1.locale类测试package com.hbsi.demo;import java.util.Locale; publicclass Demo1 {   publicstaticvoid main(String[] args) {      Locale locale = Locale.getDefault();      System.out.println(locale.getLanguage()+"-"+locale.getCountry());       }}国际化登录界面编写(此jsp只编写了中文和英文两种配置文件)<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%> <!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP '4.jsp' starting page</title>      </head>    <body>    <%      ResourceBundle rb = ResourceBundle.getBundle("com.hbsi.mypropertity.myproperties",request.getLocale());     %>     <form>     <%=rb.getString("username")%>  :  <inputtype="text"name="username"><br><br>     <%=rb.getString("password")%> : <inputtype="password"name="password"><br><br>     <inputtype="submit"value="<%=rb.getString("submit")%>">         <inputtype="reset"value="<%=rb.getString("reset")%>">     </form>  </body></html>对应的标签编写的登录界面:案例一(setBundle标签):<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt" %><!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP '4.jsp' starting page</title>      </head>  <fmt:setLocalevalue="en"/>  <fmt:setBundlebasename="com.hbsi.mypropertity.myproperties"/>  <body>     <form>     <fmt:messagekey="username"/>  :  <inputtype="text"name="username"><br><br>     <fmt:messagekey="password"/> : <inputtype="password"name="password"><br><br>     <inputtype="submit"value="<fmt:messagekey="submit"/>">         <inputtype="reset"value="<fmt:messagekey="reset"/>">     </form>  </body></html>案列二(bundle标签):<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt" %><!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP '4.jsp' starting page</title>      </head>  <fmt:bundlebasename="com.hbsi.mypropertity.myproperties">  <body>     <form>     <fmt:messagekey="username"/>  :  <inputtype="text"name="username"><br><br>     <fmt:messagekey="password"/> : <inputtype="password"name="password"><br><br>     <inputtype="submit"value="<fmt:messagekey="submit"/>">         <inputtype="reset"value="<fmt:messagekey="reset"/>">     </form>  </body>  </fmt:bundle></html>2.DateFormat类文件例子: package com.hbsi.demo; import java.text.DateFormat;import java.text.ParseException;import java.util.Date;import java.util.Locale; public class Demo2 {       public static void main(String[] args) throws ParseException {              Date date = new Date();              DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,Locale.CHINA);              System.out.println(df.format(date));              System.out.println("--------------");              DateFormat df1 = DateFormat.getTimeInstance(DateFormat.MEDIUM,Locale.CHINA);              System.out.println(df1.format(date));              System.out.println("-------------");              DateFormat df2 = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.FULL,Locale.CHINA);              System.out.println(df2.format(date));              System.out.println("--------------");              DateFormat df3 = DateFormat.getDateTimeInstance(DateFormat.FULL,DateFormat.FULL,Locale.ENGLISH);              System.out.println(df3.format(date));              System.out.println("--------------");                            String str = "12-11-23";              DateFormat df4 = DateFormat.getDateInstance(DateFormat.SHORT,Locale.CHINESE);              System.out.println(df4.parse(str));              System.out.println("--------------");              String str1 = "2012-10-25";              DateFormat df5 = DateFormat.getDateInstance(DateFormat.MEDIUM,Locale.CHINESE);              System.out.println(df5.parse(str1));       }}NumberFormat类文件package com.hbsi.demo; import java.text.NumberFormat;import java.text.ParseException;import java.util.Locale; public class Demo3 {       public static void main(String[] args) throws ParseException {              int number = 120;              //测试同一数值在不同国家输出的货币形式,这里需要注意的是如果系统不存在该国家的货币形式会以乱码输出(¤120.00)              NumberFormat nf = NumberFormat.getCurrencyInstance(Locale.CHINA);              System.out.println(nf.format(number));              System.out.println("------------");              NumberFormat nf5 = NumberFormat.getCurrencyInstance(Locale.US);              System.out.println(nf5.format(number));              System.out.println("------------");              NumberFormat nf6 = NumberFormat.getCurrencyInstance(Locale.ENGLISH);              System.out.println(nf6.format(number));              System.out.println("------------");                            //测试百分比的输出,百分比跟数值的输出格式基本相同,比如下面的例子结果都是60%              double number1 = 0.60;              NumberFormat nf1 = NumberFormat.getPercentInstance(Locale.CHINA);              System.out.println(nf1.format(number1));              System.out.println("------------");              NumberFormat nf2 = NumberFormat.getPercentInstance(Locale.US);              System.out.println(nf2.format(number1));              System.out.println("------------");                            //下面的两个例子是测试字符串转不同国家的数值格式,这里你的字符串是哪个国家的格式你转换的时候就要指明当地语言(Locale)              String str = "¥120.00";              NumberFormat nf3 = NumberFormat.getCurrencyInstance(Locale.CHINA);              System.out.println(nf3.parse(str));              System.out.println("------------");                            String str1 = "$100";              NumberFormat nf4 = NumberFormat.getCurrencyInstance(Locale.US);              System.out.println(nf4.parse(str1));       }}标签例子:<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt" %><!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP '7.jsp' starting page</title>      </head>    <body>  <fmt:formatDatevalue="<%=new Date()%>" type="date"/><br>  <fmt:formatDatevalue="<%=new Date()%>" type="time"/><br>  <fmt:formatDatevalue="<%=new Date()%>" type="both"/><br>  <hr>    <fmt:parseDatevalue="2012-11-23"pattern="yyyy-MM-dd"/><br>  <fmt:parseDatevalue="2012-11-23"type="date"/>  <hr>    <fmt:formatNumbervalue="120"type="currency"pattern=".00元"/><br>  <fmt:formatNumbervalue="120"type="currency"pattern="$.0"/><br>  <hr>    <fmt:parseNumbervalue="120.00"type="number"/><br>  <fmt:parseNumbervalue="120.00元"type="number"/><br>   </body></html>3.MessageFormat类文件:package com.hbsi.demo; import java.text.MessageFormat;import java.util.Date;import java.util.Locale; public class Demo4 {       public static void main(String[] args) {              String mes = "On {0}, a hurricance destroyed {1} houses and caused "                     + "{2} of damage.";              MessageFormat mf = new MessageFormat(mes,Locale.US);              Object[] parame = {new Date(),99,10000000};              System.out.println(mf.format(parame));              System.out.println("------------");                            String mess = "At {0, time, short} on {0, date}, a hurricance destroyed{1} houses and caused {2, number, currency} of damage.";              MessageFormat mf1 = new MessageFormat(mess,Locale.CHINA);              Object[] parame1 = {new Date(),99,10000000};              System.out.println(mf1.format(parame1));       }}连接properties配置文件的类文件package com.hbsi.demo; import java.text.MessageFormat;import java.util.Date;import java.util.Locale;import java.util.ResourceBundle; public class Demo5 {        /**        * @param args        */       public static void main(String[] args) {              //中文环境下              //这句的Locale.CHINA设置message的显示格式              ResourceBundle rb = ResourceBundle.getBundle("com.hbsi.mypropertity.myproperties",Locale.CHINA);              String message = rb.getString("message");              Object[] parame = {new Date(),99,1000000};              //这句的Locale.CHINA设置占位符的显示格式              MessageFormat mf = new MessageFormat(message,Locale.CHINA);              System.out.println(mf.format(parame));              System.out.println("------------");              //英文环境下              ResourceBundle rb1 = ResourceBundle.getBundle("com.hbsi.mypropertity.myproperties",Locale.US);              String message1 = rb1.getString("message");              Object[] parame1 = {new Date(),99,1000000};              MessageFormat mf1 = new MessageFormat(message1,Locale.US);              System.out.println(mf1.format(parame1));        }}对应的标签文件:<%@ page language="java"import="java.util.*"pageEncoding="UTF-8"%><%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt" %><!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title>My JSP '8.jsp' starting page</title>      </head>    <body>  <fmt:parseNumbervalue="99"type="number"var="num1"></fmt:parseNumber>  <fmt:parseNumbervalue="1000000"type="number"var="num2"></fmt:parseNumber>    <fmt:bundlebasename="com.hbsi.mypropertity.myproperties">    <fmt:messagekey="message">    <fmt:paramvalue="<%=new Date()%>"></fmt:param>    <fmt:paramvalue="${num1}"></fmt:param>    <fmt:paramvalue="${num2}"></fmt:param>    </fmt:message>    </fmt:bundle>  </body></html> 


 

热点排行