2011-09-30 43 views

回答

1

在GET请求上,在呈现响应的before阶段期间尚未创建视图根,并且在after阶段期间已经太晚了,因为响应已经被呈现并发送到客户端。然而,在“预渲染视图”系统事件期间,视图根可用于修改。

public class PreRenderViewListener implements SystemEventListener { 

    @Override 
    public void processEvent(SystemEvent event) throws AbortProcessingException { 
     UIViewRoot root = (UIViewRoot) event.getSource(); 
     // ... 
    } 

    @Override 
    public boolean isListenerForSource(Object source) { 
     return true; 
    } 

} 

得到它的运行,如faces-config.xml如下注册它:

<application> 
    <system-event-listener> 
     <system-event-listener-class>com.example.PreRenderViewListener</system-event-listener-class> 
     <system-event-class>javax.faces.event.PreRenderViewEvent</system-event-class> 
    </system-event-listener> 
</application> 
+0

我用这个解决方案将所有primefaces的面具:根据他们的模式属性在视图中发现的日历组件像魅力一样工作。 – jpangamarca

相关问题