我正在使用Seam 3 Internationalization包在我的应用程序中实现消息传递。自定义Seam3国际化消息
总之,这是我在做什么:
导入/注入所需的类:
import org.jboss.seam.international.status.Messages;
import javax.inject.Inject;
@Inject
private Messages messages;
当错误发生时,我在我的支持bean创建一个消息:
messages.error(new BundleKey("AppMsgResources", "errorMsgKey")).defaults("Error: Something bad happened!");
最后,我在我的脸上显示如下消息:
<h:messages />
非常标准的,到目前为止,我认为......
我要实现自定义的逻辑是能够首先检查数据库表(可以称之为表MessageBundleOverride),用于匹配的消息密钥。如果存在,我想使用MessageBundleOverride表中的值而不是属性文件。如果它不存在或为空,我想使用属性文件中找到的值。
我在想这样做的Weld/CDI方式,我可以实现消息接口并注册接缝,以便它在“注入”而不是默认的MessagesImpl实现中获取我的消息实现。附带Seam国际化套件。我对Seam/Weld有点新鲜,所以不确定这是否是一件简单的事情。
任何帮助非常感谢, 谢谢!