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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Security | |
SecurityContext secCntx = adfCtx.getSecurityContext(); | |
String user = secCntx.getUserName(); | |
String[] roles = secCntx.getUserRoles(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ControllerContext cc = ControllerContext.getInstance(); | |
// get the exception | |
Exception exp = cc.getCurrentViewPort().getExceptionData(); |