在资源 XML 中,有与键关联的所有这些值。我想直接从 Java 修改与键关联的值。
例如,我有 <entry key="greetingMessage">Welcome to my app</entry>
这显示在 View 中,而且还可以从 View 中修改消息,并且我希望在 XML 中自动更新。
我通过使用 javax.xml
解析和更改 XML 成功做到了这一点和org.w3c
但我觉得我错过了一些东西。Java 国际化或 Wicket 框架有办法实现这一点吗?
最佳答案
Wicket 仅具有读取 i18n 资源的功能(例如,XmlFilePropertiesLoader
)。 Wicket 6 代码中不使用 Properties.storeToXML()
,而 Properties.loadFromXML()
用于读取这些 XML 属性文件。
要将这些翻译存储回 XML 文件,您需要小心。至少,必须实现同步以确保同时编辑的内容不会丢失。
我不建议将编辑内容存储在 XML 中(尤其是在原始 XML 文件中)。拥有两个级别的属性似乎更好:
- 首先,不可变级别,基于原始(且不可变)XML 文件。
- 由“编辑”组成的第二级就像第一级上的补丁。它可以存储在数据库中,这对于存储不断更新的数据(例如此类编辑)更加方便。
关于java - 使用 Java 国际化 (i18n) 修改 Wicket 的 XML 资源包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43188899/