我正在尝试为我的 JSF 应用程序提供自定义资源包,因此我在faces-config.xml
一个子类中创建并注册了一个javax.faces.application.ApplicationFactory
提供Application
简单方法的子类,该方法只是记录对Application
资源包的访问:
@Override
public ResourceBundle getResourceBundle(FacesContext ctx, String name) {
ResourceBundle result = super.getResourceBundle(ctx, name);
logger.log(Level.INFO, "{0} : {1}", new Object[]{name, result});
return result;
}
出乎意料的是,我发现以下 XTML 代码
<ui:repeat value="#{bean.itemList}" var="item"> <li><h:outputText value="#{item}"/></li> </ui:repeat>
正在触发该getResourceBundle
方法,询问是否有一个名为item
.
问题是这是否是预期的行为以及如何将此类调用与那些要求ResourceBundle
而不是要求 EL 变量的调用区分开来。