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

从过去的一年开始,我们开发了一个应用程序,我们使用静态字符串常量来存储常量。 像public static final String PAYMENT_CHEQUE =“check”; 我在哪里要求ie在jsp页面中以及Action类我将引用上面的字符串常量我在考虑资源包之后想到的属性文件,我的问题是

  1. 如果我使用属性文件与静态字符串常量相比,是否有任何性能损失?
  2. 哪个更好的静态字符串常量和属性文件键值对?
  3. 这是个好主意我们在jsp中使用静态字符串常量(For Labeling)吗?

请建议我

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

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

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

  1. 您的代码更容易出现资源包的性能问题。 如果没有数据certificate这一点,就不要扔掉一个完美的技术。
  2. 资源包将允许您轻松地国际化您的应用程序; 静态字符串不是这样。
  3. 如果您已经在使用JSTL(并且您应该使用),那么这是一种可以在JSP中轻松实现的Java习惯用法。