【问题标题】:Load properties file in servlet?在servlet中加载属性文件?
【发布时间】:2013-09-01 17:05:11
【问题描述】:

我有一个 java maven 项目。我在src/main/resources 文件夹中放置了一个属性文件。

src/main/resources
  |
  |___properties
        |
        |
        |___custom_en_US.properties

我正在 servlet 中加载如下属性文件。

ResourceBundle bundle = ResourceBundle.getBundle("classpath:properties/custom", request.getLocale());

但上面的行抛出异常说找不到资源。如何提供属性文件的路径?请帮帮我。

谢谢!

【问题讨论】:

    标签: java jsp servlets


    【解决方案1】:

    去掉“类路径”前缀。:.getBundle("/properties/custom")

    “classpath”前缀不是标准,它是由一些框架定义的,比如spring。

    【讨论】:

    • 感谢您的回复,一切正常。但问题是我在 proeprties 文件中有 20 个键值对。我希望它们以与属性文件中相同的顺序加载。但是当我将它们放入 servlet 时,它们的顺序发生了变化。如何以与属性文件中的相同顺序获取键值对?谢谢!
    • 你不应该依赖它,因为结构通常是一个哈希表,所以你不能拥有它。如果您希望它们按顺序排列,请在它们前面加上一些东西(1_foo,2_bar),然后按此顺序排列。但通常顺序无关紧要
    • 我必须将它们放在 html 的选择框中。所以我需要它们。如果有什么我能做的,请建议我?
    • @user755806 然后你需要自己编写代码来读写属性文件。 Java 属性不会维持秩序。
    【解决方案2】:

    从类路径读取属性文件

    Properties prop = new Properties();
    
    try {
        //load a properties file from class path, inside static method
        prop.load(App.class.getClassLoader().getResourceAsStream("config.properties"));            
    } catch (IOException ex) {
        ex.printStackTrace();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-12
      • 2011-02-18
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 1970-01-01
      相关资源
      最近更新 更多