代码之家  ›  专栏  ›  技术社区  ›  gmhk

Java Web应用中的字符串常量与资源包

  •  3
  • gmhk  · 技术社区  · 14 年前

    从去年开始,我们开发了一个应用程序,其中我们使用静态字符串常量来存储常量。 喜欢 public static final string payment_check=“支票”; 如果我需要的话,比如在JSP页面和操作类中,我将引用上面的字符串常量。 我想在查看了资源包、属性文件之后,我的问题是

    1. 如果我 使用属性文件比较 静态字符串常量?
    2. 静态字符串哪个更好 常量和属性文件密钥 值对?
    3. 我们用的是 静态字符串常量(用于标记) 在JSP中?

    请推荐我

    2 回复  |  直到 14 年前
        1
  •  2
  •   Yuval    14 年前

    一般来说,使用硬编码字符串是一个坏主意,因为这意味着每一个更改都需要一个新的编译部署周期,而使用属性文件则意味着应用程序需要重新启动,而无需其他任何操作(尽管有些人会说,这本身是一个很高的代价)。使用属性文件的另一个优点是能够通过将应用程序切换到另一个文件来切换语言——这比在代码中使用多组常量标签更为合理。

    您可以像现在这样使用最终的静态字符串字段,只在应用程序的初始化阶段给它们一个从MA属性文件中读取的值,而不是返回到每个常量的文件中(这会很昂贵!)。这样,您就不必进行应用程序范围的更改,而且您仍然可以享受我上面提到的优势。

        2
  •  1
  •   duffymo    14 年前

    在这种情况下,我更喜欢资源包:

    1. 您的代码更有可能存在资源捆绑的性能问题。不要在没有数据证明的情况下丢弃一项完美的技术。
    2. 资源包将允许您轻松地将应用程序国际化,而不是使用静态字符串。
    3. 这是一个Java习语,如果你已经使用JSTL(你应该是),那么它很容易在JSPs实现。