3

从去年开始,我们开发了一个应用程序,在其中我们使用静态字符串常量来存储常量。像 public static final String PAYMENT_CHEQUE = "cheque"; 我在哪里需要,即在 jsp 页面以及 Action 类中,我将在查看资源包、属性文件后引用上面的字符串常量,我的问题是

  1. 与静态字符串常量相比,如果我使用属性文件是否会对性能造成影响?
  2. 静态字符串常量和属性文件键值对哪个更好?
  3. 我们在jsp中使用静态字符串常量(用于标签)是个好主意吗?

请建议我

4

2 回答 2

2

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

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

于 2010-02-21T12:02:18.893 回答
1

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

  1. 您的代码更有可能出现资源捆绑的性能问题。不要在没有数据证明的情况下丢弃一项完美的技术。
  2. 资源包将允许您轻松地国际化您的应用程序;静态字符串不是这样。
  3. 如果您已经在使用 JSTL(而且您应该使用),那么它是一种很容易在 JSP 中实现的 Java 习惯用法。
于 2010-02-21T12:33:08.643 回答