國際化標籤後續

 

、如果一個字符中包含了多個與國家化相關的數據,可以使用MessageFormat類對這些數據進行批量處理。

利用佔位符將含有國際化相關的數據的字符串轉換成模式字符串,MessageFormat類可以接受一個參數數組,以替換文本中的每一個佔位符

例如:

       1、

//模式字符串,即包含佔位符的字符串,將時間、數字、貨幣等多個被佔位符代替

String pattern="At {0,time,short} on {0,date,long},a hurricance destroyed {1,number} houses and causes {2,number,currency} of damage";

//messageFormat類可以講字符串中包含了時間、數字、貨幣等多個國計劃的進行批量處理

       MessageFormat mf=new MessageFormat(pattern,Locale.US);

       //構建參數數組,爲佔位符賦值

       Object [] objs={new Date(),new Integer(99),new Double(1e7)};

       String str1=mf.format(objs);

       System.out.println(str1);

 

    2、

處理資源文件中的字符串

//讀取資源文件

ResourceBundle bundle=ResourceBundle.getBundle("com.hbsi.resource.myresource",Locale.CHINA);

       String result=bundle.getString("title");

       MessageFormat mf1=new MessageFormat(result,Locale.CHINA);

       Object [] objs1={new Date(),new Integer(99),new Double(1e7)};

       String str2=mf1.format(objs1);

System.out.println(str2);

 

二、使用國際化標籤在jsp頁面中完成對一個字符中包含了多個與國家化相關的數據的操作

       <jsp:useBean id="date" class="java.util.Date"></jsp:useBean>

  <%

    request.setAttribute("number1",new Integer(99));

    request.setAttribute("number2",new Double(1e7));

   %>

 

<fmt:setBundle basename="com.hbsi.resource.myresource" var="bundle" scope="request"/>

    <fmt:message key="username" bundle="${bundle }"/><br>

    <fmt:message key="title" bundle="${bundle }">

    <fmt:param value="${date }"></fmt:param>

    <fmt:param value="${number1 }"></fmt:param>

    <fmt:param value="${number2 }"></fmt:param>

</fmt:message>

 

三、<fmt:requestEncoding>標籤

    用於設置請求消息的字符編碼

例子: 

<%--使用國際化標籤庫解決字符編碼集問題,該方法內部調用 request.setCharacterEncoding()方法 --%>

   <%--應放在獲取任何請求域中的參數之前 --%>

  <fmt:requestEncoding value="utf-8"/>

  ${param.fav }

    <form action="" method="post">

    <input type="text" name="fav"/>

    <input type="submit" value="submit">

    </form>

四、<fmt:timeZone>標籤

       用於設置時區,且設置值只對其標籤體部分有效

例子:

<%--設置時間的標籤 --%>

    <%--只對標籤體內的內容有效 --%>

    <fmt:timeZone value="GMT+7:00">

<fmt:formatDate value="${date }" type="time" dateStyle="short" timeStyle="full"/>

</fmt:timeZone><br>

 

五、<fmt:setTimeZone>標籤

    用於在jsp頁面中顯示地設置時區,並將設置的時區信息以TimeZone對象的形式保存到某個web域中

 

例子:


<%--對所有的都有效 --%>

    <fmt:setTimeZone value="CMT+8:00"/><br>

    <%--將時間日期進行格式化的標籤 --%>  

<fmt:formatDate value="${date }" type="both" dateStyle="long" timeStyle="short"/>

    <br>

    <fmt:formatDate value="${date }" pattern="yyyy.MM.dd HH:mm:ss.SS"/>

   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章