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

时间:2010-02-21 11:39:22

标签: java string constants resourcebundle

从过去的年份开始,我们开发了一个应用程序,其中我们使用静态字符串常量来存储常量。 喜欢 public static final String PAYMENT_CHEQUE =“check”; 我需要的地方,即在jsp页面中以及Action类我将引用Above String Constant 我正在考虑查看资源包后,属性文件,我的问题是

  1. 如果我有任何表现受到打击 使用属性文件比较 静态字符串常量?
  2. 哪个更好静态字符串 常量和属性文件密钥 价值对?
  3. 我们使用的是这个好主意吗? 静态字符串常量(用于标记) 在jsp?
  4. 请建议我

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

  1. 您的代码更容易出现资源包的性能问题。如果没有数据证明这一点,就不要扔掉一个完美的技术。
  2. 资源包可让您轻松实现应用的国际化;静态字符串不是这样。
  3. 如果你已经在使用JSTL(你应该这样做),这是一个很容易在JSP中实现的Java习语。