Sie haben vergessen, bauen die Ansicht. Sie können dazu ViewDeclarationLanguage#buildView()
verwenden. Hier ist ein Auszug aus seiner javadoc (Hervorhebung von mir):
Nehmen Sie alle Aktionen, die für diese VDL Implementierung des Argument UIViewRoot
zu verursachen, die über einen Aufruf createView(javax.faces.context.FacesContext, java.lang.String)
erstellt worden sein, zu mit Kindern bevölkert werden.
So sollte dies tun:
String viewId = "/path/to/some.xhtml";
FacesContext context = FacesContext.getCurrentInstance();
ViewHandler viewHandler = context.getApplication().getViewHandler();
UIViewRoot view = viewHandler.createView(context, viewId);
viewHandler.getViewDeclarationLanguage(context, viewId).buildView(context, view);
// view should now have children.
Sie durch die Art und Weise können auch die ViewDeclarationLanguage#createView()
verwenden, um direkt die Ansicht anstelle der ViewHandler#createView()
Stenographie zu erstellen.
String viewId = "/path/to/some.xhtml";
FacesContext context = FacesContext.getCurrentInstance();
ViewDeclarationLanguage vdl = context.getApplication().getViewHandler().getViewDeclarationLanguage(context, viewId);
UIViewRoot view = vdl.createView(context, viewId);
vdl.buildView(context, view);
// view should now have children.