【发布时间】:2019-01-19 23:57:31
【问题描述】:
感谢这篇文章,https://stackoverflow.com/a/28047512/1227941 我现在使用 CDI 在我的 @Named bean 中提供 msg,如下所示:
@RequestScoped
public class BundleProducer {
@Produces
public PropertyResourceBundle getBundle() {
FacesContext context = FacesContext.getCurrentInstance();
return context.getApplication().evaluateExpressionGet(context, "#{msg}", PropertyResourceBundle.class);
}
}
像注入一样:
@Inject
private PropertyResourceBundle bundle;
问题:如果我有更多的属性文件怎么办:ui.properties,admin.properties...?
【问题讨论】:
-
我个人尽量减少 messageBundles 的数量并使用“复合键”(ui.xxx,admin.yyy)不知道这是否是最佳实践,但它对我有用
-
我也在寻找关于这一点的最佳实践
-
首先,我建议您生成
ResourceBundle而不是特定的PropertyResourceBundle。然后,您可以使用 CDI 限定符来区分各种捆绑包。
标签: jsf cdi inject resourcebundle