分别用Java和JS读取Properties文件内容

项目中经常用到的配置文件,除了XML文件之外,还会用到Properties文件来存储一些信息,例如国际化的设置、jdbc连接信息的配置等。有时候也会把一些路径或者sql语句放到Properties中,这样就不用直接在Java代码中放置很多sql语句,看起来代码比较整齐。下面就分别用java和js介绍读取properties中的内容。

properties文件存储内容,可以简单的认为是key-value格式的,设置一个唯一的关键字,通过该关键字就可以读取它所代表的内容,在Java代码和js代码中读取的原理都是这样的。

在Java中,主要是采用的java.util.Properties类来承接的。主要过程是创建一个Properties对象,然后以流的形式读取properties文件,将该文件赋给Properties对象,就可以通过Properties对象来读取properties文件中的内容了。

 

Java代码:

package com.at21.landscaping.util;  
import java.io.InputStream;  
import java.util.Properties;  
  
public class SyscfgUtil{  
      
    private Properties props;  
      
    public Properties getProperties(){  
        if(props == null){  
            props = new Properties();  
            InputStream in;  
            try{  
                in = getClass().getResourceAsStream("/syscfg.properties");  
                props.load(in);  
            } catch (Exception e){  
                LogUtils.error(e);  
            }  
        }  
    }  
}  

用JS来读取properties文件,需要引入一个jQuery的插件jQuery.i18n.properties。这个插件主要是做国际化处理的,国际化一般是放到Properties文件中配置的,所以jquery提供了这个插件来读取properties文件。先把jquery引入js,再引入jquery.i18n.properties,将properties放置到某个位置,加上下面的代码就可以读取到了。

js代码:

function loadProperties(){  
    JQuery.i18n.properties({//加载properties文件  
        name:'syscfg',//properties文件的名称  
        path:'config/',//properties文件的路径  
        mode:'map',//用map的方式使用资源文件中的值  
        callback:function(){  
            console.log($.i18n.prop("landUrl"));//根据key值取得需要的资源  
        }  
    });  
}  

默认加载的时候,其实需要加载三个properties文件,分别是syscfg.properties、syscfg_zh.properties和syscfg_zh_CN.properties,其实就是因为国际化的处理。

 

posted @ 2017-08-17 15:44  岁月淡忘了谁  阅读(9670)  评论(0编辑  收藏  举报