0

我正在做一个 Spring Web 应用程序,但我觉得这个问题不是特定于框架的。

我有一个包含大约 30 个值的 HTML 选择列表。Web 应用程序需要有四种语言的接口。因此,对于每种语言,HTML 选择列表需要显示相同值列表的翻译文本。

我可以使用 JSP 页面对四种语言的列表进行硬编码,并使用条件以正确的语言显示列表。但我觉得这种方法不容易维护,也不好扩展,因为列表可能会不断变化。并且当列表更新时,Web 应用程序无法停止。

我还可以使用 Spring 的消息机制和属性文件来显示列表,这似乎遭受了相同的可维护性和可伸缩性问题。

我正在考虑的另一种方法是将所有列表存储在数据库中,并根据语言环境使用正确的语言提取列表。我不确定如何在类和表的设计方面继续使用这种方法。有人知道类似的工作吗?或者有什么想法?

感谢您的任何意见!

干杯。

4

1 回答 1

1

如果您要走数据库路线,那么我建议您使用一个包含 4 列的表:

locale: (stuff like "en_US", and "fr_CA")
group_name: (whatever they are grouped by: "random-select-widget")
value: (text value: "random selection")
order: (integer order that it should appear in the list: 0)

复合主键是 (locale,group_id,order)。如果您觉得需要,可以使用 (locale_id,locale_name) 和 (group_id,group_name) 的表将它们制成整数。

您的类可以是简单的 Hibernate 实体,使用NamedQuerys:locale:group_name参数ListEntityManager.

于 2013-06-01T05:26:59.127 回答