我正在尝试跟踪视图使用情况(违反默认的15个计数限制)但不太确定从何处获取此信息。是否可以在FacesContext中使用它?
使用JSF 2.2,ICEfaces 3.3和Omnifaces 2.2。
答案 0 :(得分:4)
它的具体实现,仅在使用服务器端状态保存时可用。
根据您的问题记录和您的相关OmniFaces issue report,我认为您正在使用GlassFish,因此使用Mojarra。物理视图可用作com.sun.faces.renderkit.ServerSideStateHelper.LogicalViewMap
键入的会话属性。
因此,所以:
Map<String, Map<String, Object[]>> physicalViews = Faces.getSessionAttribute("com.sun.faces.renderkit.ServerSideStateHelper.LogicalViewMap");
String numberOfViews = physicalViews.size();
// ...
请注意,Mojarra无意中交换了&#34;物理视图的含义&#34;和&#34;逻辑视图&#34;在上下文参数名称和代码库中。因此,上面地图的最大尺寸(物理视图)可由com.sun.faces.numberOfLogicalViews
配置,嵌套地图的最大尺寸(逻辑视图)可由com.sun.faces.numberOfViewsInSession
配置。