美文网首页
Servlet常用三种国际化实现---货币/日期/文字

Servlet常用三种国际化实现---货币/日期/文字

作者: _Levi__ | 来源:发表于2019-08-19 21:39 被阅读0次

    ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■↓↓↓↓↓↓↓↓↓ 软件国际化↓↓↓↓↓↓↓↓↓↓↓■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■

    软件国际化;

       为什么要有?

        当一个应用发布出去的时候,

        被别的地区的用户进行体验,

        而这个web应用却不是当前的语言和界面,

        那么对用户的体验非常的差的。

       是什么?

         是为了使得这个软件可以被不同的地区的人使用

       作用;

        ◆ 提升用户体验

           使得软件更加灵活,可变

        ◆ 可以将一段可以直接显示在页面的数据,根据的那个当地的格式显示

    -----------------------------------↓↓↓↓↓↓↓软件国际化 —— 常用属性国际化↓↓↓↓↓↓↓------------------------------------------------

    常用的属性国际化;

     1.文字国际化

      ---> 因为不同地区的国家的文字是不同的,使得用户体验更好

     2.日期国际化

      ---> 每一个地区的日期显示格式可能是不一样的

     3.货币国际化

      ---> 每一个地区的货币标识符号都是不一样的

    --------------------------------↓↓↓↓↓↓↓软件国际化 —— 文字国际化标签以及实现↓↓↓↓↓↓↓------------------------------------------------

    文字国际化;

       原理;

        都是在一个资源包里存放的都是当地语言对应某一个国家的语言,

        一个键值对的形式通过查找这个资源包,从而翻译出来这个键或值所对应的。

        而这个文件在Java中一般都是以properties的形式(类似)存在的

       主要类;

    ResourceBundle   --->  用于绑定不不同国家的资源包的

     资源文件命名规则;

        message-语言-国家(大写).properties

             代码;

         1.ResourceBundle resource = ResourceBundle.getBundle("包名/子包名/文件",Locale.XX);

       说明;ResourceBundle是一个抽象类,

        所以只能通过静态的方法来获取。

          参数一;是传入的资源包,一般都会放在一个文件中或一个包下,

          如果资源包找不到会默认找message.properties这个默认包

          如果默认包都找不到则会使用系统默认的语言进行翻译

           ◆注;这个资源包的文件名是不需要带( .properties)的后缀的

           注意;命名规范会报错的

          参数二;Locale是指定的要进行翻译的国家语言,

          而这个Locale的静态属性中有各个国家的缩写的

      如果设置Locale.getDefault()那么则会使用

      系统默认的语言进行翻译

      1.1resource.getString("xx");  ---> 获取到资源包对应的值

      2.resource.getBundle(资源包,Locale);---> 这个方法也是可以绑定资源包的

        标签;

      使用fmt国际化标签;

          1.导入【"http://java.sun.com/jsp/jstl/fmt"】这个标签库

    2.<ftm:setBundle basename="资源包(包名/文件)">

        ---> 绑定资源包

    3.<ftm:message key="翻译的值">

       ◆◆注;可以将<ftm:message>标签放到一个value属性或name属性中

    ----------------------------------↓↓↓↓↓↓↓软件国际化 —— 日期国际化标签以及实现↓↓↓↓↓↓↓------------------------------------------------

    日期国际化;

       主要类;DateFormat

    ---> 日期格式化类,是一个抽象类

        代码;

             1.DataFormat df =DataFormat.getDataTimeInstance(DataFormat.Full,DataFormat.Full,Locale.getDefault());

           说明;

               参数一;是设置日期是否详细显示,有四个级别

    short Mediumn long full

            参数二;是设置时间是否详细显示,有四个级别

    short Mediumn long full

        参数三;设置地区(国家)时间格式的,

        getDefault()则是默认使用当前系统格式

          2.df.format(new Date());

       说明;

         传入一个时间,按照这个对象的形参进行格式化

           标签;

            1.导入【"http://java.sun.com/jsp/jstl/fmt"】这个标签库

            2.

    timeStyle="4" type="3">

      说明;调用<fmt:formatDate>标签,

       value 是传入一个时间,一般都是传入一个域属性

     dateStyle 设置日期是否详细显示有4个级别,

    ---> short - medium - long - full

     timeStyle 设置时间是否详细显示有4个级别

    ---> short - medium - long - full

      type 设置时间的显示格式,有三种

      - date  显示日期

      - time  显示时间

      - both  显示时间和日期

    --------------------------------↓↓↓↓↓↓↓软件国际化 —— 货币/数字国际化标签以及实现↓↓↓↓↓↓↓------------------------------------------------

    货币/数字国际化;

    主要类;DecimalFormat

      代码;

      1.DecimalFormatdf = new DecimalFormat("\u2030 * \u00A4 * % * ##.#");

         说明;

         \u2030 是进行千分比计算

         \u00A4是显示本地货币符号

         %      是按照百分比进行计算

         #.#    是想要保留几位小数,则进行四舍五入计算

    2.df.format(number);

         说明;

              传入一个数字进行格式化

    标签;

    1. 导入【"http://java.sun.com/jsp/jstl/fmt"】这个标签库

    2.

       说明;

           value 是要格式化的值

           pattern 对某一个数字进行格式化的格式,#.#是保留几位小数

       <fmt:formatNumber

    value="number"  type="常用三种">

       说明;

           value 是要进行格式化的值

           type 是要进行什么形式的格式化

             常用三个;

         number 原始数值形式输出

         precent  百分比数值形式输出

             currency

     按照本地的货币符号进行格式化

    相关文章

      网友评论

          本文标题:Servlet常用三种国际化实现---货币/日期/文字

          本文链接:https://www.haomeiwen.com/subject/rgcysctx.html