I start with FacesContext class, with this class you can use to find a JSF Component, change the Locale, get the ELContext, Add a message to your view and get the ExternalContext
// FacesContext FacesContext facesCtx = FacesContext.getCurrentInstance(); // find UIComponent UIComponent input = facesCtx.getViewRoot().findComponent("f1"); // change the locale facesCtx.getViewRoot().setLocale( Locale.ENGLISH); // el expression Application app = facesCtx.getApplication(); ExpressionFactory elFactory = app.getExpressionFactory(); ELContext elContext = facesCtx.getELContext(); ValueExpression valueExp = elFactory.createValueExpression(elContext, "#{xxxx}", Object.class); Object result = valueExp.getValue(elContext); // add a message FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "header", "detail"); facesCtx.addMessage(input.getClientId(facesCtx), msg); // ExternalContext ExternalContext ectx = facesCtx.getExternalContext();The ExternalContext class, with this you can retrieve all the java init & context (web.xml) parameters, the Request & Session parameters and your web application url.
// ExternalContext ExternalContext ectx = facesCtx.getExternalContext(); // all the java init parameters Map<String, Object> initParamsVar = ectx.getInitParameterMap(); Map<String, String> requestParamsVar = ectx.getRequestParameterMap(); Map<String, Object> sessionParamsVar = ectx.getSessionMap(); // web application context root String contextPath = ectx.getRequestContextPath();AdfFacesContext class, you can use this class for Partial Page Rendering ( PPR), get the PageFlowScope and ViewScope variables
// AdfFacesContext AdfFacesContext adfFacesCtx = AdfFacesContext.getCurrentInstance(); // PPR adfFacesCtx.addPartialTarget(input); // get the PageFlowScope Params Map<String, Object> scopePageFlowScopeVar= adfFacesCtx.getPageFlowScope(); // get the viewScope Params Map<String, Object> scopeViewScopeVar= adfFacesCtx.getViewScope();ADFContext class, with this you can get all the memory scopes variables even the application scope variables, ELContext and the SecurityContext.
// ADFContext ADFContext adfCtx = ADFContext.getCurrent(); // Get the scope variables Map<String, Object> applicationVar2 = adfCtx.getApplicationScope(); Map<String, Object> pageParamsVar2 = adfCtx.getPageFlowScope(); Map<String, String> requestParamsVar2 = adfCtx.getRequestScope(); Map<String, Object> sessionParamsVar2 = adfCtx.getSessionScope(); // el expression ELContext elContext2 = adfCtx.getELContext(); ExpressionFactory elFactory2 = adfCtx.getExpressionFactory(); ValueExpression valueExp2 = elFactory2.createValueExpression(elContext2, "#{xxxx}", Object.class); Object result2 = valueExp2.getValue(elContext2); // Security SecurityContext secCntx = adfCtx.getSecurityContext();SecurityContext class, retrieve the current user and its roles.
// Security SecurityContext secCntx = adfCtx.getSecurityContext(); String user = secCntx.getUserName(); String[] roles = secCntx.getUserRoles();BindingContext, BindingContainer and DCBindingContainer class. These classes are well known when you want to retrieve the ADF pagedef objects.
BindingContext bc = BindingContext.getCurrent(); BindingContainer bcon = bc.getCurrentBindingsEntry(); List<AttributeBinding> attr = bcon.getAttributeBindings(); List<OperationBinding> oper = bcon.getOperationBindings(); List<ControlBinding> ctrl = bcon.getControlBindings(); DCBindingContainer dcbcon = (DCBindingContainer) bc.getCurrentBindingsEntry(); List<AttributeBinding> attr2 = dcbcon.getAttributeBindings(); List<OperationBinding> oper2 = dcbcon.getOperationBindings(); List<ControlBinding> ctrl2 = dcbcon.getControlBindings(); List iters = dcbcon.getIterBindingList(); List exec = dcbcon.getExecutableBindings();The last class is ControllerContext, which you can use to retrieve the exceptions
ControllerContext cc = ControllerContext.getInstance(); // get the exception Exception exp = cc.getCurrentViewPort().getExceptionData();
{ 0 comments... Views All / Send Comment! }
Post a Comment