我想实现一个自定义 ViewHandler。目前我只将所有调用转发到默认 Viewhandler,但如果我在 faces-config.xml 中启用此 ViewHandler,preRenderView 事件类型(可能还有其他功能)将被破坏。有没有人不知道我做错了什么?
我正在使用 JBoss AS 7.1.1。
谢谢。
public class ReverseProxyViewHandler extends ViewHandler {
ViewHandler defaultHandler;
public ReverseProxyViewHandler(ViewHandler defaultHandler) {
this.defaultHandler = defaultHandler;
}
@Override
public Locale calculateLocale(FacesContext context) {
return defaultHandler.calculateLocale(context);
}
@Override
public String calculateRenderKitId(FacesContext context) {
return defaultHandler.calculateRenderKitId(context);
}
@Override
public UIViewRoot createView(FacesContext context, String viewId) {
return defaultHandler.createView(context, viewId);
}
@Override
public String getActionURL(FacesContext context, String path) {
return defaultHandler.getActionURL(context, path);
}
@Override
public String getResourceURL(FacesContext context, String path) {
return defaultHandler.getResourceURL(context, path);
}
@Override
public void renderView(FacesContext context, UIViewRoot viewToRender) throws IOException, FacesException {
defaultHandler.renderView(context, viewToRender);
}
@Override
public UIViewRoot restoreView(FacesContext context, String viewId) {
return defaultHandler.restoreView(context, viewId);
}
@Override
public void writeState(FacesContext context) throws IOException {
defaultHandler.writeState(context);
}
}