zoukankan      html  css  js  c++  java
  • 分别用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,其实就是因为国际化的处理。

  • 相关阅读:
    2020-10-03:java中satb和tlab有什么区别?
    2020-10-02:golang如何写一个插件?
    2020-10-01:谈谈golang的空结构体。
    2020-09-30:谈谈内存对齐。
    2020-09-29:介绍volatile功能。
    2020-09-28:内存屏障的汇编指令是啥?
    2020-09-27:总线锁的副作用是什么?
    2020-09-26:请问rust中的&和c++中的&有哪些区别?
    自定义刷新控件的实现原理
    scrollView的bounds
  • 原文地址:https://www.cnblogs.com/henuyuxiang/p/7382076.html
Copyright © 2011-2022 走看看