![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ADF
文章平均质量分 91
冷冷的太阳
团队是一个公司的灵魂。
展开
-
ADF-BC中EO常用操作代码之三:增加EO(1)
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。ADF-BC中的EO对象一般来说不需要写代码,但在实际开发中,有时需要增加一些额外的操作,这就需要写代码了。这里把一些常用情景的代码贴出来,供大家参考。增加EO涉及到主键的赋值问题,一般主键都是来自于Sequence。下面分情况介绍。1. 主键来自于Sequenc转载 2014-08-20 19:06:25 · 969 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之一:All Queriable Attributes
开发环境:JDeveloper 11.1.2.0.0 + Oracle Database 10g Express Edition 10.2.0.1。默认情况下,ADF提供了全字段查询功能,使用起来非常方便。1. 创建Model,生成DataControl。2. 创建页面,拖放“All Queriable Attributes”到页面,生成查询页面。(1)拖放“All Q转载 2014-08-20 19:18:18 · 845 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之十:重写prepareRowSetForQuery方法设置变量
开发运行环境:JDevloper 11.1.2.4.0+ Oracle Database 11gR2 XE本文最后一次修改日期:2013-07-01如果你想在查询执行之前,设置查询条件,那么prepareRowSetForQuery方法是再合适不过的地方了。@Overridepublic void prepareRowSetForQuery(ViewRowSetImpl转载 2014-08-20 19:24:27 · 771 阅读 · 0 评论 -
Table 组件使用指南之五:使用Poll组件刷新Table
运行环境:JDeveloper 11.1.2.1.0 + Oracle Database 10g Express Edition 10.2.0.1。实验说明:需求来自一个Partner,他们希望能够自动刷新一个表格。实现步骤非常简单,定义一个poll组件,定期执行一个方法,刷新表格。1. poll组件属性interval是间隔的毫秒数。属性pollListener是转载 2014-08-20 19:32:56 · 561 阅读 · 0 评论 -
上传文件到服务器方式之一:使用InputFile的ValueChangeListener
开发环境:JDeveloper 11.1.2.0.0。说明:本文改自本人旧作,使用了目前最新的JDeveloper 11.1.2.0.0重新开发验证。(2011-8-1)1. 新增页面:upload_file.jspxvalueChangeListener="#{myBackingBean.inputFile_valueChangeListener}" binding=转载 2014-08-20 19:42:54 · 1284 阅读 · 0 评论 -
如何实现下载文件之二:动态文件
实验环境:JDeveloper 11.1.2.0.0。说明:本文改自本人旧作,使用了目前最新的JDeveloper 11.1.2.0.0重新开发验证。(2011-8-3)文件的内容是动态生成的。1. 页面代码这里使用了af:fileDownloadActionListener 组件。method="#{myBackingBean.writeContent}"转载 2014-08-20 19:44:39 · 775 阅读 · 0 评论 -
AutoSubmit与PartialSubmit区别
Web2.0应用的两大特点就是异步请求响应和局部页面刷新。比如:一个天气预报页面内容包括:国家下拉列表、省下拉列表、城市下拉列表,以及选择城市的最近三天天气情况。当我们选择国家后,只刷新省的下拉列表;选择省后,只刷新城市的下拉列表;选择城市时,刷新最近三天天气情况。总之,我们希望页面能够局部、动态地刷新,请求发送后不必等待响应就能马上做其它事情,而响应回来后,页面相关组件会得到通知转载 2014-08-20 19:51:33 · 2275 阅读 · 0 评论 -
使用SetCurrentRowWithKeyValue
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。每个View Object都有两个个默认的Operation:setCurrentRowWithKey和setCurrentRowWithKeyValue。关于setCurrentRowWithKey使用方法请参考《收藏带参数的编辑页面》,本文转载 2014-08-20 20:13:42 · 964 阅读 · 0 评论 -
VO高级使用技巧之二:编程实现基于Ref Cursor的VO
开发运行环境:JDevloper 11.1.2.4.0+ Oracle Database 11gR2 XE本文最后一次修改日期:2013-07-01在Fusion Order Demo的StandaloneExamples中的AdvancedViewObjectsExamples中的ViewObjectOnRefCursor,介绍了如何使用ResultSet查询结果集实现View转载 2014-08-20 20:20:11 · 904 阅读 · 0 评论 -
图解安装 Application Development Runtime
开发环境:JDeveloper 11.1.1.5 + Application Development Runtime 11.1.1.5JDeveloper 11g中自带一个WebLogic Server,支持ADF,主要用于ADF开发。但ADF应用最终要运行在独立的WebLogic Server上,而WebLogic Server默认安装是不支持ADF的。于是就有了Applicat转载 2014-08-20 20:23:40 · 1077 阅读 · 0 评论 -
Tree组件使用指南之一:创建
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。重要步骤说明:1. 使用ADF-BC创建Model层选择Department、Employee两张表。2. 创建页面(1)拖放DepartmentView1到页面上,选择生成Tree。(2)点击绿色加号,增加Em转载 2014-08-20 20:30:10 · 774 阅读 · 0 评论 -
Tree组件使用指南之七:让树节点支持mouseOver事件
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。这个实验来源于一个客户的实际需求:(1)鼠标移到节点上时,能够弹出一个类似于Tips的信息窗口。(2)鼠标移到不同的节点上时,弹出的信息不同,也就是说要从节点上获取参数。(3)根据从节点上获取的参数,调用后台方法,获取最终要显示的信转载 2014-08-20 20:34:42 · 991 阅读 · 0 评论 -
Table 组件使用指南之十二:定制列字段过滤组件
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。默认情况下,ADF Table使用InputText作为列字段过滤组件,你可以根据需要换成其它的组件。基本的实现方法就是:右键点击要定制Column,选择为其增加Filter Facet:1. 使用带tips的InputText为LastName字段增加Filte转载 2014-08-20 20:37:59 · 926 阅读 · 0 评论 -
如何在Table组件中使用Active Data Service?
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。Active Data Service是ADF中的一个高级特性,本文介绍如何在Table中使用ADS。重点步骤说明:1. 页面代码 说明:T转载 2014-08-20 20:56:34 · 1398 阅读 · 0 评论 -
使用Input Text with LOV 实现显示名称保存ID
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。使用Input Text with LOV作为LOV时,默认显示的是ID,而不是名称,这不太符合要求。最简单的实现方法是基于多个EO创建一个新VO,然后基于名称字段建立LOV。重要步骤说明:1. 创建EmployeeDetail转载 2014-08-20 20:59:09 · 883 阅读 · 0 评论 -
使用LaunchPopupListener过滤Input Text with LOV(4)
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。使用Input Text with LOV组件时,点击按钮会显示LOV的查询结果。如果需要通过程序设置查询条件,可以定制LaunchPopupPopupListener。与上一个实验不同的地方是:在LOV对应的VO上没有ViewCrit转载 2014-08-20 21:05:45 · 684 阅读 · 0 评论 -
Task Flow使用指南之七:SavePoints(3)
运行环境:JDeveloper 11.1.1.1.6 + Oracle Database 10g Express Edition 10.2.0.1。前两个实验使用的都是Explicit SavePoints,本实验介绍如何使用Implicit SavePoints,即隐式SavePoints。重点步骤说明:1. 修改adf-config.xml,设置enable-impli转载 2014-08-20 21:08:21 · 658 阅读 · 0 评论 -
Task Flow使用指南之九:Remote TaskFlow
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。试想一下这种情况:一个人部署了一个ADF应用,其中包括一个Bounded TaskFlow,另一个人想在自己的应用调用该TaskFlow。重要步骤说明:1. 创建Remote TaskFlow Producer详细步骤请参考转载 2014-08-20 21:13:42 · 925 阅读 · 0 评论 -
Task Flow使用指南之十:通过程序调用TaskFlow
运行环境:JDeveloper 11.1.2.3.0 + Oracle Database 11g Express Edition。Task Flow使用指南之九中介绍了如何调用Remote TaskFlow, 但那是通过TaskFlow Call Activity调用的,如何通过程序调用一个Bounded TaskFlow呢?首先我们必须知道TaskFlow的URL的格式,转载 2014-08-20 21:19:32 · 1682 阅读 · 0 评论 -
使用View Link Accessor
开发运行环境:JDeveloper 11.1.2.3.0 + Oracle Database 11g Express Edition。实际使用中,经常需要在某个VO上增加一个Attribute,该Attribute的值来自于其它关联的的VO的Attribute值。使用View Link有一个Accessor特性可以轻松地帮我们实现该功能。重要步骤说明:1. Access转载 2014-08-20 21:20:44 · 839 阅读 · 0 评论 -
Groovy在ADF BC中的常见用法之一
开发运行环境:JDeveloper 11.1.2.41. 设置EO或VO的Attribute值(1)在Employees EO上增加一个Attribute:AnnualSalary,Expression: (Salary != null ? Salary : 0 ) * 12。(2)如果需要引用EntityImpl类中的自定义方法,需要加前缀:adf.object。转载 2014-08-20 21:20:59 · 713 阅读 · 0 评论 -
实现Table数据自动填充功能之一:修改
开发运行环境:JDeveloper 11.1.2.4 + Oracle Database XE 11gR2前一个实验使用的是Form,实际情况中,还可能会使用Table。考虑以下场景:用户修改一行记录时,修改其中某个字段后,希望能够带出其它字段值,即自动填充。1. 为了不影响其它VO,新建一个VO:EmployeesDetailsView。注意,为了演示自动填充的功能,这里转载 2014-08-20 21:25:56 · 1533 阅读 · 0 评论 -
ADF-BC中EO常用操作代码之二:修改和删除EO
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。ADF-BC中的EO对象一般来说不需要写代码,但在实际开发中,有时需要增加一些额外的操作,这就需要写代码了。这里把一些常用情景的代码贴出来,供大家参考。1. 更新EO对象 public void updateEmployeeSalaryByEO(int emp转载 2014-08-20 19:07:38 · 691 阅读 · 0 评论 -
使用ADF-BC级联删除主从记录
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。首先要明确一下级联删除应该什么情况下使用。使用级联删除一般满足两个条件:(1)A和B两个对象为主从关系,A为主,B为从。(2)如果A对象不存在了,那么B对象也没有存在的意义。也就是说,A和B的关系是合成(Composition)关系,详细说明请参考《UML中的类图转载 2014-08-20 19:12:10 · 807 阅读 · 0 评论 -
如何实现下载文件之一:静态文件
实验环境:JDeveloper 11.1.2.0.0。说明:本文改自本人旧作,使用了目前最新的JDeveloper 11.1.2.0.0重新开发验证。(2011-8-3)这里假设文件保存在服务器的某个目录下:比如C:/Temp。1. 页面代码。这里使用了一个参数:fileName,并给其赋了一个常量值。实际应用中,可以根据情况动态赋值。注意在Managed Bean中如转载 2014-08-20 19:45:54 · 1351 阅读 · 0 评论 -
如何处理BLOB类型数据之二:下载BLOB内容并保存到文件中
实验环境:JDeveloper 11.1.2.0.0。接上一个实验《如何处理BLOB类型数据之一:上传文件并保存到BLOB中》。1. 修改页面代码,把Table中Filename字段改为CommandLink类型,这样点击文件名称即可下载该文件:2. 对应的Managed Bean代码public void downloadLink_actionListener(Act转载 2014-08-20 19:46:51 · 4759 阅读 · 0 评论 -
Popup组件的属性ContentDelivery各个值的的含义
选中ADF pop组件时,细心的人会注意到有一个属性:ContentDelivery。该属性有三个值可以设置:immediate、lazy、lazyUncached。这三个值的含义和使用场景如下:1. immediate当页面被首次装载时即装载popup组件,无论该popup组件是否被真正使用到。如果你确定该popup组件在该页面中至少会使用一次,那么你可以使用该选项,转载 2014-08-20 20:10:58 · 1028 阅读 · 0 评论 -
Tree组件使用指南之十:获取选中的Tree节点
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。实际情况中,经常需要获取选中的Tree节点信息,与定制TreeSelectionListener每次点击选中一个节点略有不同,可以通过按住Ctrl键选取多个节点。说明,本实验基于定制SelectionListener。1. 创建转载 2014-08-20 20:36:41 · 5408 阅读 · 0 评论 -
AM使用指南之七:Configuration参数说明(4)
AM的参数中与数据库有关的有两个重要的参数:jbo.doconnectionpooling和jbo.txn.disconnect_level。因为与数据库有关,所以这两个参数与性能有直接的关系。1. jbo.doconnectionpooling(1)=false,默认值,表明每个AM实例保留一个数据库连接,即使用户请求结束之后,依然保留,直到AM实例消亡。优点:用户下一次请求转载 2014-08-20 20:52:52 · 974 阅读 · 0 评论 -
使用Choice List 实现查询
运行环境:JDeveloper 11.1.2.2.0 + Oracle Database 10g Express Edition 10.2.0.1。本实验来自于客户实际需求:使用Choice List作为查询条件,显示名称,保存ID。重要步骤说明:1. 手工创建两个VO,一个用于显示查询结果,一个用于显示查询条件(1)EmployeesByManagerIdView,作转载 2014-08-20 21:02:27 · 1141 阅读 · 0 评论 -
组件自动绑定到Managed Bean功能
开发运行环境:JDeveloper 11.1.2.3创建页面时,有一个选项:Automatically Expose UI Components in a New Managed Bean。勾上这个选项后,往页面中每增加一个组件都会自动Binding到一个Managed Bean的某个属性上。我个人不太喜欢这个属性,因为不是所有的组件都需要设置bindi转载 2014-08-20 21:18:08 · 816 阅读 · 0 评论 -
Groovy在ADF BC中的常见用法之三
开发运行环境:JDeveloper 11.1.2.4前面介绍的都是在EO中使用Groovy,在VO中和在EO中使用Groovy的方法基本一样,同样支持 (1)访问同一个VO中的Attribute (2)访问其它VO中的Attribute (3)定义Transient Attribute验证规则 (4)调用ViewRowImpl中的自定义方法 (5)使用集合功能VO比转载 2014-08-20 21:26:16 · 828 阅读 · 0 评论 -
ADF-BC中EO常用操作代码之一:查询EO
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。ADF-BC中的EO对象一般来说不需要写代码,但在实际开发中,有时需要增加一些额外的操作,这就需要写代码了。这里把一些常用情景的代码贴出来,供大家参考。为了方便测试,我把代码写在了AppModuleImpl.java中,实际使用时可以写到EO的Impl.java中。1转载 2014-08-20 19:06:40 · 739 阅读 · 0 评论 -
当表结构发生变化时,如何同步到ADF-BC中的EO?
实际应用中,我们经常遇到数据库Schema发生改动,如添加和减少字段,修改字段类型,等等。这时,已经生成的ADF-BC中的EO如何随之改变。JDeveloper 11g中已经考虑了这个问题。下面我们以HR Schema中的Employees表为例说明。为了不破坏原有的Employees表,我们复制并创建一个新表:Employees_Backup。执行SQL语句:CREATE T转载 2014-08-20 19:07:39 · 643 阅读 · 0 评论 -
如何定制EO的增加、修改、删除操作?
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。本实验基于《使用ADF实现基于Form的CRUD (3)》ADF-BC中的EO对象写入数据库的操作本来不需要我们关心,不用写任何代码,这是使用ADF-BC的好处之一。但在实际开发中,有时需要在EO入库前做一些其它操作,比如设置默认属性值、设置Sequence值;有时需转载 2014-08-20 19:12:56 · 1916 阅读 · 0 评论 -
如何使用PropertySet特性?
开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。想要了解PropertySet特性,就必须先了解Custom Properties特性。你可以为EO或VO的某个字段定义Custom Properties,然后再程序中访问该Custom Properties。在《ADF-BC中EO常用操作代码之三:增加EO(1)》中,我们就转载 2014-08-20 19:13:19 · 791 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之三:如何在页面装载时自动执行查询?
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。接着上一个Project,有时我们想在界面上直接显示查询结果,查询条件是通过程序设置的,不要人工输入。这时,我们需要手工增加Binding关系。重点步骤说明:1. 新建一个页面:adf_query_executeWithParams转载 2014-08-20 19:18:05 · 807 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之二:ExecuteWithParams
开发环境:JDevloper 11.1.2.0.0+ Oracle Database 10g Express Edition 10.2.0.1。全字段查询功能固然比较强大,但在实际情况中,我们一般只对几个字段查询。这时,我们通过修改VO的Query语句来实现查询功能。1. 修改Employees VO的Query语句,增加查询条件。2. 增加相应的Bind Variable转载 2014-08-20 19:19:14 · 972 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之六:使用Popup组件实现全字段查询
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。在《使用ADF-BC 实现查询功能之一:All Queriable Attributes》中,全字段查询界面和结果是在同一个页面。实际使用中,有些客户希望把查询界面放到popup组件中,查询完毕后,页面刷新显示查询结果。这里我们可以使用转载 2014-08-20 19:21:38 · 916 阅读 · 0 评论 -
使用ADF-BC 实现查询功能之七:使用View Criteria
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。在前面的例子中,我把参数直接写在了VO的Where子句当中,这种方式要求必须有参数值才可以使用VO。在本文的实验中,我使用相对灵活的一种方式来实现查询功能。重点步骤说明:1. 为EmployeeView定义参数,不过这次不勾上“Re转载 2014-08-20 19:20:29 · 1076 阅读 · 0 评论