1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
public UIViewRoot restoreView(FacesContext context, String viewId) {
UIViewRoot viewRoot = super.restoreView(context, viewId);
if (viewRoot == null) {
viewRoot = createView(context, viewId);
context.setViewRoot(viewRoot);
try {
this.buildView(context, viewRoot);
context.getExternalContext().getRequestMap().put("session.viewBuilt", getRenderedViewId(context, viewId));
} catch (IOException ioe) {
log.log(java.util.logging.Level.SEVERE, "Error Building View", ioe);
}
}
return viewRoot;
}
/*on fait le build view si cela n'a pas été fait..*/
protected void buildView(FacesContext context, UIViewRoot viewToRender) throws IOException, FacesException {
String viewId = getRenderedViewId(context, viewToRender.getViewId());
String viewBuilt = (String) context.getExternalContext().getRequestMap().get("session.viewBuilt");
if (viewBuilt == null || !viewId.equals(viewBuilt)) {
super.buildView(context, viewToRender);
} else {
/** cas ou session expire **/
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
response.sendRedirect("login.jsf");
}
} |
Partager