【发布时间】:2014-09-09 18:49:24
【问题描述】:
对于我参与过的许多项目,编程团队的工作方式是将 xhtml 文件中的每一段静态文本放入属性文件中。例如:
xhtml=
... <h1>${messages.resourceBundle['key.to.static.text.placeholder']}</h1> ...
messages.properties=
... key.to.static.text.placeholder=This will be the heading for this page only ...
谁能解释一下这样做的好处是什么?
到目前为止,我只能看到以下缺点:
- 对任何 xhtml 文件进行更改都需要您寻找正确的 .properties 文件,然后是要进行更改的单个属性
- 如果其他人重复使用了属性,那么删除它们就会变得很棘手,因为您必须确定没有其他页面正在引用该属性,因此在几轮更改请求之后,属性文件会变得很大,并带有冗余属性
- 如果有 1000 个 xhtml,将有 1000 个 .properties 文件要加载,这需要更多的 CPU 周期来加载和注入静态文本片段
- 如果您使用 WebFlow 并且有传递到其他流的流,则必须复制属性,这意味着有时您必须将相同的属性放在许多不同的属性文件中才能正确呈现
- 难以阅读的代码;如果您知道您只想处理文本“这将是此页面的标题”,您需要首先从属性文件中确定 xhtml 上的位置 - 您不能简单地查看 xhtml并清楚地看到内容在呈现后将如何布局。
我能看到的唯一优点是文本重用和可能的 html 转义。
如果它的编码为 101,我深表歉意,但我在 Google 周围搜寻了一下,找不到该模式的原因。
非常感谢
【问题讨论】:
标签: java html jsp jsf spring-webflow