2010-02-21 55 views
3

从过去的一年开始,我们开发了一个应用程序,其中我们使用静态字符串常量来存储常量。 Like public static final String PAYMENT_CHEQUE =“check”; 在以往任何时候我在JSP页面中要求,即和Action类的我会指的上面的字符串常量 我检讨资源包,属性文件后想,我的问题是Java Web应用程序中的字符串常量与资源包

  1. 有什么性能命中如果我 使用属性文件比较 静态字符串常量?
  2. 哪个更好静态字符串 常量和属性文件键值 值对?
  3. 是不是我们在jsp中使用了 静态字符串常量(用于标记) ?

请建议我

回答

2

在一般情况下,使用硬编码字符串是一个坏主意,因为这意味着每个变化需要一个新的编译,部署周期,而使用属性文件指应用程序需要重新开始,没有别的(虽然有人会说,本身是一个高昂的代价)。使用属性文件的另一个优点是可以通过将应用程序切换到另一个文件来切换语言 - 比在代码中使用多组常量标签更合理。

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

1

我宁愿资源包在这种情况下:

  1. 您的代码更可能有性能问题的资源包。不要扔掉没有数据的完美技术来证明它的正确性。
  2. 资源包可让您轻松国际化您的应用;静态字符串并非如此。
  3. 这是一个Java成语,如果您已经使用JSTL(您应该是),那么它很容易在JSP中实现。
相关问题