从去年开始,我们开发了一个应用程序,在其中我们使用静态字符串常量来存储常量。喜欢公共静态最终字符串PAYMENT_CHEQUE =“支票”;无论我需要什么地方,即在 jsp 页面中,Action 类也将引用上面的字符串常量 我在查看资源包、属性文件后思考,我的问题是

  1. 如果我 使用属性文件与 静态字符串常量?
  2. 静态字符串哪个更好 常量和属性文件键 价值对?
  3. 这是我们使用的好主意 id static 字符串常量(用于标记) 在 JSP 中?

请推荐我

有帮助吗?

解决方案

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

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

其他提示

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

  1. 您的代码更有可能出现资源捆绑的性能问题。不要在没有数据证明其合理性的情况下放弃一项完美的技术。
  2. 资源包将允许您轻松国际化您的应用程序;静态字符串则不然。
  3. 如果您已经在使用 JSTL(而且您应该这样做),那么它是一种很容易在 JSP 中实现的 Java 习惯用法。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top