如何在Java / Scala中管理用户消息?

我们将用户消息作为格式字符串存储在属性文件中(例如“无效参数[%s]”),并在运行时创建实际消息.这很方便,因为非程序员可以编辑消息,但如果参数列表与格式字符串不匹配,则会导致运行时异常.

是否有一个“更安全”的解决方案,在Java / Scala中使用编译时检查,仍然允许非技术人员创建/编辑用户消息?

最佳答案 我所看到的最接近Java编译资源包的时间检查是
cal10n,但是每个消息都有相当多的样板,并且仍然没有验证正确的参数数量.它只是保证键真的存在.

也许你最好的选择可能是使用Scala创建一个简单的DSL?我认为这可以让你的非程序员编写看似简单但编译器可检查的scala源的消息包.

点赞