j2ee国际化数据方式

静态国际化数据,在msg(定义数据名)_zh(语言缩写)_CN(国家缩写).propertices文件中自定义相关数据

然后进行调用

  /*
     * 静态国际化
     */
    @Test
    public void testInternational_static() throws Exception {
        //当前语言环境
        // Locale locale = Locale.CHINA;
        Locale locale = Locale.US;
        //创建工具类对象ResourceBundle
        ResourceBundle resourceBundle = ResourceBundle.getBundle("com.xinzhi.test.msg"
                , locale);
        String string = resourceBundle.getString("hello");
        System.out.println(string);

    }

下面是其他类型数据的国际化方法

  /*
     * 数字国际化
     */
    @Test
    public void testInternational_number() throws Exception {
        // Locale locale = Locale.CHINA;
        Locale locale = Locale.US;
        NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
        String format = numberFormat.format(1000000000);
        System.out.println(format);
    }

    /*
     * 货币数字国际化
     */
    @Test
    public void testInternational_currency() throws Exception {
        // Locale locale = Locale.CHINA;
        Locale locale = Locale.US;
        NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);
        String format = numberFormat.format(100);
        System.out.println(format);
    }

    /*
     * 货币数字计算$100*10
     */
    @Test
    public void testInternational_currency2() throws Exception {
        // Locale locale = Locale.CHINA;
        Locale locale = Locale.US;
        String currencyString = "$100";
        int num = 10;
        NumberFormat numberFormat = NumberFormat.getCurrencyInstance(locale);
        Number parse = numberFormat.parse(currencyString);
        System.out.println(parse.intValue() * num);
    }

    /*
     * 时间国际化
     */
    @Test
    public void testInternational_time() throws Exception {
        // Locale locale = Locale.CHINA;
        Locale locale = Locale.US;
        int dateStyle = DateFormat.FULL;
        int timeStyle = DateFormat.SHORT;
        DateFormat dateTimeInstance = DateFormat.getDateTimeInstance(dateStyle,
                timeStyle, locale);
        String format = dateTimeInstance.format(new Date());
        System.out.println(format);
    }

在jsp中使用国际化:

将资源文件在msg(定义数据名)_zh(语言缩写)_CN(国家缩写).propertices处理完成后

在需要国际化的jsp界面中插入如下代码:

<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>//用于加载jstl
<fmt:setLocale value="${pageContext.request.locale }"/>//设置使用的语言场景(在请求域中获取)
<fmt:setBundle basename="com.xinzhi.utils.msg" var="varbundle"/>//拿到资源文件路径,定义资源变量
<fmt:message key="title" bundle="${varbundle}"></fmt:message>//根据键来获取相应的值

/*** jsp中数字国际化,保留两位有效数字,没有的用0填充,用#.##则表示保留两位数字但是不保留0*/
<fmt:formatNumber pattern="0.00" value="100"></fmt:formatNumber>
/*** jsp中日期国际化*/
<fmt:formatDate value="2017-05-13" pattern="yyyy-MM-dd"/>
时间: 2024-10-18 06:14:18

j2ee国际化数据方式的相关文章

j2ee之struts2的国际化数据方式

和不用框架的时候一样,需要写你要改变的文字的配置文件(文件名_语言缩写_国家缩写.properties) 可以参考我之前写的j2ee之国际化数据方式 然后在struts.xml的配置文件中加入常量配置,如果不知道可以到源码的default.properties里面收索i18n关键字很快就可以找到 <struts> <constant name="struts.custom.i18n.resources" value="com.xinzhi.msg.msg&q

【Spring学习笔记-MVC-4】返回Json数据-方式2

摘要 本文讲解另外一种利用spring MVC返回json数据的方法. 前文回顾 在<[Spring学习笔记-MVC-3]返回Json数据-方式1>中介绍了通过: @ResponseBody声明返回值: 配置<mvc:annotation-driven />: 来返回json数据.效果如下:   ==>, 从上面的效果看,只能返回一个对象,不能返回多个对象,不能做到形如下图的返回结果, 存在局限性(可能可以返回多个,自己不知道如何实现). 下面介绍的方式2,利用spring

C# HttpWebRequest提交数据方式浅析

原文:http://developer.51cto.com/art/200909/149995.htmC# HttpWebRequest提交数据方式其实就是GET和POST两种,那么具体的实现以及操作注意事项是什么呢?那么本文就向你详细介绍C# HttpWebRequest提交数据方式的这两种利器. AD:2014WOT全球软件技术峰会北京站 课程视频发布 C# HttpWebRequest提交数据方式学习之前我们先来看看什么是HttpWebRequest,它是 .net 基类库中的一个类,在命

spring ajax提交并返回数据方式

jsp $('#userId').change(function() { $.ajax({ url: "${ctx}/test/checkUser.do", contentType: "application/json;charset=utf-8", type: "get", data:{ userId:$("#userId").val() }, success: function(data) { if(data!=''){

Struts2初学 Struts2的action接收用户数据方式

一.简介    开发Web应用程序,首先应会遇到对用户输入数据的接收,传统的Web应用程序是由开发人员调用HttpServletRequest的getparameter(String name)方法从请求中获取数据,而Web框架都提供了数据绑定机制,由框架从请求中获取数据然后绑定到一个JavaBean对象中. Struts2提供了多种方式用于接收用户输入的数据. Struts2的action完全与Web解耦,要获取Web层的数据,需要使用ActionContext,它为action提供了一个执行

PHP操作Memcached的各种数据方式

首先,在实现所说的东西之前,要先确定好这么三件事: 1:安装了Memcached. 2:Memcached支持自己php所用版本. 3:开启了Memcached服务,并打开了php.ini的Memcached模块 如说上述条件都满足了,那么我就说一下如何去用php操作: 为了较为清晰的说明,而且空说无凭,所以我统一在下面的额代码里面加入测试,其中包括了我的所有测试过程: 还要说一下,这里主要测试的是数据的CURD操作. <?php //Memcached是面向对象来操作的 $mem=new Me

android开发中的5种存储数据方式

数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstance State保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整

android存取数据方式:文件、SharedPreferences

android存取数据方式:文件.SharedPreferences.SQLite 数据库.Content provider 文件流: 使用java IO流对文件进行读写操作,文件权限默认. 指定文件权限写入:mode:文件权限MODE_PRIVATE的文件是应用程序私有的,MODE_WORLD_READABLE则所有应用程序都可以访问的, MODE_WORLD_WRITEABLE所有应用程序都可以写,mode_APPEND则是如果要创建的文件存在则新写入的数据不会覆盖以前的数据. openFi

客户端表单提交数据方式与服务器获取数据

表单提交数据的两种方式 表单form的提交有两种方式,一种是get的方法,通过超级链接后面的参数提交过来,一种是post ,通过Form表单提交过来. post方式: <form id="form1" name="form1" method="post" action="login.aspx"> <table width="501" border="0" align=&