java - 我应该如何构建 jsps 使用的资源包属性文件?

标签 java jsp jakarta-ee internationalization

我目前正致力于将现有的 Web 应用程序转换为支持其他语言(即威尔士语)。我建议的方法是将所有显示的文本提取到属性文件中,然后使用 JSTL fmt 标签访问文本。

我的问题是:这些属性文件应该如何构建?我知道它们需要位于 Web 应用程序的类路径中,但与其将它们直接存储在 WEB-INF/classes 中,我更愿意在构建步骤中将它们复制到那里。这让我在如何在颠覆中存储文件方面有很大的灵 active 。由于它们与 jsp 紧密结合,创建一个新的顶级目录(例如资源)并在该文件夹下镜像 jsp 结构是个好主意吗?这会给我一个像

这样的结构
resources/jsp/index.properties
resources/jsp/index_cy.properties

这似乎是一种合理的方法,如果需要的话,它也可以扩展到类的属性文件:

resources/com/mycompany/myapp/CustomObject.properties
resources/com/mycompany/myapp/CustomObject_cy.properties

然后构建过程可以将所有这些文件复制到 WEB-INF/classes 中,以准备打包到 war 文件中。

这种方法是否符合行业标准?这是我当前公司的第一个多语言应用程序,因此它很可能被用作所有其他公司的蓝图。

编辑:有人指出,这种方法可能会导致各种属性文件中出现大量重复的字符串。虽然这是真的,但它只会是 jsps 中当前存在的重复字符串。以属性文件中的一些重复为代价,从 jsp 到属性文件有一个清晰的映射是否更好?

最佳答案

Is this approach in line with industry standards? This is the first multilingual application for my current company, so it is likely to be used as a blueprint for all others.

是的,我认为是。

我相信 Maven 会创建以下目录结构:

src
  +- main
  |    |- java
  |    |- resources
  +- test
       |- java
       |- resources

这让您在代码和单元测试之间,然后在 Java 代码和资源(如属性文件等)之间有一个很好的干净分离。

关于java - 我应该如何构建 jsps 使用的资源包属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/349326/

相关文章:

java - STS : Imported projects are showing compilation error with triangle symbol

java - 给定二叉树,在每个深度(BFS 或 DFS)创建所有节点的链表

java - 获取 java.lang.ClassCastException : javax. xml.bind.JAXBElement cannot be cast to com.[mySchema] 在实现 ItemProcessor 时

javascript - AJAX POST 请求后未加载第二个 JSP 页面

java - 在 google appengine 部署 war 文件后从内部检查 war 文件

Java:可以将日期作为字符串进行比较吗

java - 如何在不提交表单的情况下使用struts2提交标签作为按钮?

java - 登录系统/注册用户

java - 如何制作 "simple"吞吐量的 servlet-filter?

java - 在 Jhipster 中添加新服务时出现代码错误 500