OAF是WEB界面,FORM是由JDK将FORM里面的东西插入到HTML UI里的;

OAF由 Oracle Business Components for JAVA(BC4J)框架作为其模型部分,完成EBS数据库对象到java对象的转换工作,相当于hibernate,来实现业务逻辑和数据操作并且页面的运行依赖于oacore容器,oacore相当于tomcat,完成服务器端的事件监听和转发。

OAF使用元数据库支持的(整个页面由XML来定义,定义存储与Oracle数据库中)。由UIX引擎将xml元素重新组装,并且与BC4J中的数据项进行绑定,形成HTML返回给我们的浏览器进行展示。UIX框架作为其视图部分,将BC4J中的数据展示给用户。页面部分是通过JDeveloper工具定义XML结构。一般不需要额外编写代码。

OAF提供丰富的页面组建库和事件机制,例如页面局部刷新、翻页、LOV选择、统一的CSS风格。

OAF具有强大个性化扩展性,对于已有程序可以在不需要改动源代码的情况下, 实现web页面以及数据逻辑修改和新增。

1.下载JDeveloper:

关于此页--技术组件 查看OAF版本号

登陆metalink,搜索文档编号:416708.1,下载最新版本的。

2.解压配置

定义系统环境变量:  JDEV_UESR_HOME 解压目录 jdev层。

3.新建工作空间

4.在工作空间下定义project

5.在project建立数据库连接

6.DBC file:存放些DB信息

DBCfile在目录 $FND_SECURE下

7. 模拟数据库登陆

项目--属性  字符为 UTF-8

1. 新建OAF中的对象

新建PG:Application Sources -> new --> OA Components --> page  包的路径: trn.oracle.apps.cux.hello.webui : 第2、3层不能变,第四层是定义的应用下,第五层是对象的名称,第六层页面放在 webui下;

新建AM: Application Sources -> new --> ADF Business Components --> Application Module 包的路径 trn.oracle.apps.cux.hello.server

PG指定AM/AM绑定PG:Structure窗口下点击 region1,在BC4J下的AM Definition选择AM

region1下添加 item1.

2.发布

.class 文件放入 $JAVA_TOP 目录下

执行 adcgnjar 打成jar包

将XML导入到数据库 执行 java oracle.jrad.tools.xml.importer.XMLImporter $JAVA_TOP/trn/oracle/apps/cux/hello/webui/HelloWorldPG.xml -rootdir $JAVA_TOP -username apps - password apps -dbconnection $AD_APPS_JDBC_URL

检验导入成功:

begin
jdr_utils.printDocument(''); --import后生成的 as后面
end;

  

未完待续

OAF--基础的更多相关文章

  1. Oracle OAF 应用构建基础之实现控制器 (转)

    原文地址: Oracle OAF 应用构建基础之实现控制器 设计一个OA Controller 如OA Framework Page解析中所描述的,OA Controller定义了web beans的 ...

  2. OAF_文件系列3_实现OAF多行表中附件功能AttachmentImage(案例)

    20150727 Created By BaoXinjian

  3. EBS OAF开发中实现參数式弹出窗体

    EBS OAF开发中实现參数式弹出窗体 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 概览 參数式弹出窗体和嵌入式弹出窗体不一样,它拥有独立 ...

  4. EBS OAF中如何在多行表中实现附件功能

    EBS OAF中如何在多行表中实现附件功能 (版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 在OAF中使用附件功能之前,要先明白Entity( ...

  5. Oracle Applications DBA 基础(一)

    1.引子 2014年9月13日 20:33 <oracle Applications DBA 基础>介绍Oracle Applications R12的系统架构, 数据库后台及应用系统的基 ...

  6. 在OAF页面中集成ECharts以及highcharts用于显示图表

    历史博文中有讲解在请求中输出基础图表的方式,见地址:EBS 请求输出Html报表集成Echarts 本文讲述在OAF中集成这两类图表. 集成的基本思路:在OAF页面中加入一个rawText组件,在ra ...

  7. OAF 通过个性化 在标准事件上添加验证

    在实际的开发过程中,我们经常会遇到以下情况: 在执行标准的功能之前要对个性化的内容进行校验. 比如:在某个标准页面通过个性化添加了一个勾选框,在点击下一步的时候必须去验证此勾选框是否勾选. 具体实现如 ...

  8. EBS OAF开发中实体对象和视图对象的属性设置器

    EBS OAF开发中实体对象和视图对象的属性设置器 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处:否则请与本人联系,违者必究) 源文: Home > Oracle ...

  9. java基础集合经典训练题

    第一题:要求产生10个随机的字符串,每一个字符串互相不重复,每一个字符串中组成的字符(a-zA-Z0-9)也不相同,每个字符串长度为10; 分析:*1.看到这个题目,或许你脑海中会想到很多方法,比如判 ...

  10. node-webkit 环境搭建与基础demo

    首先去github上面下载(地址),具体更具自己的系统,我的是windows,这里只给出windows的做法 下载windows x64版本 下载之后解压,得到以下东西 为了方便,我们直接在这个目录中 ...

随机推荐

  1. Nginx安装echo模块

    echo-nginx-module 模块可以在Nginx中用来输出一些信息,可以用来实现简单接口或者排错. 项目地址:https://github.com/openresty/echo-nginx-m ...

  2. SpringMVC入门学习三

    今天是Springmvc学习的第三天,今天我将主要介绍一下: 常用注解的使用 关于非post.get请求的处理 文件上传与下载 拦截器   常用注解的使用 老大在此 @Controller @Cont ...

  3. Android studio 编译出现的问题记录

    1.app:transformClassesWithJarMergingForDebug'. Error:Execution failed for task ':app:transformClasse ...

  4. htmlUnit加持,网络小蜘蛛的超级进化

    前言 前段时间写了个小说线上采集阅读(猛戳这里:https://www.cnblogs.com/huanzi-qch/p/9817831.html),当我们去采集起点网的小说目录时发现目录数据没有在h ...

  5. [转]angular2: including thirdparty js scripts in component

    本文转自:https://stackoverflow.com/questions/35570746/angular2-including-thirdparty-js-scripts-in-compon ...

  6. [转]centos6.5修改yum安装的mysql默认目录

    本文转自:https://www.cnblogs.com/fefjay/p/6044444.html 0.说明 Linux下更改yum默认安装的mysql路径datadir.linux下,MySQL默 ...

  7. ajax实现跨域访问

    ajax跨域访问是一个老生畅谈的问题啦,网上解决方法很多,discuz用的p3p协议,有兴趣的朋友可以了解下,比较常用的是JSONP方法,貌似目前这种方法只支持GET方式,不如POST方式安全. 即使 ...

  8. (7)Jquery1.8.3快速入门_内容过滤选择器

    一.Jquery的内容过滤选择器: 内容过滤选择器: 1.:contains(text) 选取含有文本内容为text的元素 2. :empty 选取不包含子元素或者文本为空的元素 3.:has(sel ...

  9. K8S 部署 ingress-nginx (一) 原理及搭建

    Kubernetes 暴露服务的有三种方式,分别为 LoadBlancer Service.NodePort Service.Ingress.官网对 Ingress 的定义为管理对外服务到集群内服务之 ...

  10. js 控制超出字数显示省略号

    //多余显示省略号 function wordlimit(cname, wordlength) { var cname = document.getElementsByClassName(cname) ...