ADF backing Bean中常用的代码1

原文地址:http://www.demo356.com/?p=82

 

 

Bean中常用方法:

 

 
//获取binding容器
BindingContainer bindings  =  BindingContext. getCurrent ( ). getCurrentBindingsEntry ( ) ;
 
//获取Page definitions的 attribute的值
AttributeBinding attr = (AttributeBinding )bindings. getControlBinding ( "test" ) ;
attr. setInputValue (”test” ) ;

// 获取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 ( ) ;

// 从ADF Tree 或者 Table中获取数据
DCBindingContainer dcBindings = (DCBindingContainer )BindingContext. getCurrent ( ). getCurrentBindingsEntry ( ) ;
FacesCtrlHierBinding treeData = (FacesCtrlHierBinding )bc. getControlBinding (”tree” ) ;
Row [ ] rows = treeData. getAllRowsInRange ( ) ;

// 从iterator 的当前行获取一个 attribute的值
DCIteratorBinding iterBind = (DCIteratorBinding )dcBindings. get (”testIterator” ) ;
String attribute = ( String )iterBind. getCurrentRow ( ). getAttribute (”field1″ ) ;

// 获取错误
String error = iterBind. getError ( ). getMessage ( ) ;

// 刷新iterator
bindings. refreshControl ( ) ;
iterBind. executeQuery ( ) ;
iterBind. refresh (DCIteratorBinding. RANGESIZE_UNLIMITED ) ;
// 获取 iterator的所有行
Row [ ] rows = iterBind. getAllRowsInRange ( ) ;
TestData dataRow = null ;
for (Row row : rows ) {
dataRow = (TestData ) ( (DCDataRow )row ). getDataProvider ( ) ;
}

//获取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 ( ) ) ;
// 获得一个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 ( ) ) ;

//获取askflow的Binding
DCTaskFlowBinding tf = (DCTaskFlowBinding )dc. findExecutableBinding (”dynamicRegion1″ ) ;

//获取异常并显示到页面
catch ( Exception e ) {
FacesMessage msg = new FacesMessage (FacesMessage. SEVERITY_ERROR, e. getMessage ( ), “” ) ;
FacesContext. getCurrentInstance ( ). addMessage ( null, msg ) ;
}

// 重置控件的所有子控件
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 ) ;
} ;
}
}
}

// 重定向到另一个URL
ExternalContext ectx = FacesContext. getCurrentInstance ( ). getExternalContext ( ) ;
HttpServletResponse response = (HttpServletResponse )ectx. getResponse ( ) ;
String url = ectx. getRequestContextPath ( ) +/adfAuthentication ?logout =true &amp ;end_url =/faces /start. jspx;
try {
response. sendRedirect (url ) ;
} catch ( Exception ex ) {
ex. printStackTrace ( ) ;
}

// 刷新控件(PPR)
AdfFacesContext. getCurrentInstance ( ). addPartialTarget (UIComponent ) ;

// 查找控件
private UIComponent getUIComponent ( String name ) {
FacesContext facesCtx = FacesContext. getCurrentInstance ( ) ;
return facesCtx. getViewRoot ( ). findComponent (name ) ;
}

//获取 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 ) ;
}

//获取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 ) ;
}

// 获取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 ( ) ;
}
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值