1 2 3 4 | // 刷新iterator bindings.refreshControl(); iterBind.executeQuery(); iterBind.refresh(DCIteratorBinding.RANGESIZE_UNLIMITED); |
Bean中常用方法:
1 2 3 | //获取binding容器 BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry(); |
1 2 3 | //获取Page definitions的 attribute的值 AttributeBinding attr = (AttributeBinding)bindings.getControlBinding( "test" ); attr.setInputValue(”test”); |
1 2 3 4 5 6 7 8 9 | // 获取action或者方法 OperationBinding method = bindings.getOperationBinding( "methodAction" ); method.execute(); List errors = method.getErrors(); method = bindings.getOperationBinding(”methodAction”); Map paramsMap = method.getParamsMap(); paramsMap.put(”param”,”value”) ; method.execute(); |
1 2 3 4 | // 从ADF Tree 或者 Table中获取数据 DCBindingContainer dcBindings = (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry(); FacesCtrlHierBinding treeData = (FacesCtrlHierBinding)bc.getControlBinding(”tree”); Row[] rows = treeData.getAllRowsInRange(); |
1 2 3 4 5 6 7 | // 从iterator 的当前行获取一个 attribute的值 DCIteratorBinding iterBind= (DCIteratorBinding)dcBindings.get(”testIterator”); String attribute = (String)iterBind.getCurrentRow().getAttribute(”field1″); <code> <code lang= "java" > // 获取错误 String error = iterBind.getError().getMessage(); |
1 2 3 4 5 6 | // 获取 iterator的所有行 Row[] rows = iterBind.getAllRowsInRange(); TestData dataRow = null ; for (Row row : rows) { dataRow = (TestData)((DCDataRow)row).getDataProvider(); } |
1 2 3 4 5 | //获取iterator当前行的另一种方法 FacesContext ctx = FacesContext.getCurrentInstance(); ExpressionFactory ef = ctx.getApplication().getExpressionFactory(); ValueExpression ve = ef.createValueExpression(ctx.getELContext(), “#{bindings.testIter.currentRow.dataProvider}”, TestHead. class ); TestHead test = (TestHead)ve.getValue(ctx.getELContext()); |
1 2 3 4 5 | // 获得一个on bean FacesContext ctx = FacesContext.getCurrentInstance(); ExpressionFactory ef = ctx.getApplication().getExpressionFactory(); ValueExpression ve = ef.createValueExpression(ctx.getELContext(), “#{testSessionBean}”, TestSession. class ); TestSession test = (TestSession)ve.getValue(ctx.getELContext()); |
1 2 3 4 5 6 7 8 9 | //获取askflow的Binding DCTaskFlowBinding tf = (DCTaskFlowBinding)dc.findExecutableBinding(”dynamicRegion1″); <code> <code lang= "java" > //获取异常并显示到页面 catch (Exception e) { FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, e.getMessage(), “”); FacesContext.getCurrentInstance().addMessage( null , msg); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | // 重置控件的所有子控件 private void resetValueInputItems(AdfFacesContext adfFacesContext, UIComponent component){ List items = component.getChildren(); for ( UIComponent item : items ) { resetValueInputItems(adfFacesContext,item); if ( item instanceof RichInputText ) { RichInputText input = (RichInputText)item; if ( !input.isDisabled() ) { input.resetValue() ; adfFacesContext.addPartialTarget(input); }; } else if ( item instanceof RichInputDate ) { RichInputDate input = (RichInputDate)item; if ( !input.isDisabled() ) { input.resetValue() ; adfFacesContext.addPartialTarget(input); }; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 重定向到另一个URL ExternalContext ectx = FacesContext.getCurrentInstance().getExternalContext(); HttpServletResponse response = (HttpServletResponse)ectx.getResponse(); String url = ectx.getRequestContextPath()+”/adfAuthentication?logout= true &end_url=/faces/start.jspx”; try { response.sendRedirect(url); } catch (Exception ex) { ex.printStackTrace(); } <code lang= "java" > // 刷新控件(PPR) AdfFacesContext.getCurrentInstance().addPartialTarget(UIComponent); // 查找控件 private UIComponent getUIComponent(String name) { FacesContext facesCtx = FacesContext.getCurrentInstance(); return facesCtx.getViewRoot().findComponent(name) ; } |
1 2 3 4 5 6 7 8 9 10 11 | //获取 bc application module private OEServiceImpl getAm(){ FacesContext fc = FacesContext.getCurrentInstance(); Application app = fc.getApplication(); ExpressionFactory elFactory = app.getExpressionFactory(); ELContext elContext = fc.getELContext(); ValueExpression valueExp = elFactory.createValueExpression(elContext, “#{data.OEServiceDataControl.dataProvider}”, Object. class ); return (OEServiceImpl)valueExp.getValue(elContext); } |
1 2 3 4 5 6 7 | //获取table选中的行 RowKeySet selection = resultTable.getSelectedRowKeys(); Object[] keys = selection.toArray(); List receivers = new ArrayList(keys.length); for ( Object key : keys ) { User user = modelFriends.get((Integer)key); } |
1 2 3 4 5 6 7 8 | // 获取table选中的行的另一种 for (Object facesRowKey : table.getSelectedRowKeys()) { table.setRowKey(facesRowKey); Object o = table.getRowData(); JUCtrlHierNodeBinding rowData = (JUCtrlHierNodeBinding)o; Row row = rowData.getRow(); Test testRow = (Test)((DCDataRow)row).getDataProvider() ; } |
转载自:http://www.fmw007.com/archives/82
程序员的基础教程:菜鸟程序员
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现