OAFCRUD开发.docx

上传人:b****7 文档编号:26000744 上传时间:2023-06-17 格式:DOCX 页数:86 大小:3.08MB
下载 相关 举报
OAFCRUD开发.docx_第1页
第1页 / 共86页
OAFCRUD开发.docx_第2页
第2页 / 共86页
OAFCRUD开发.docx_第3页
第3页 / 共86页
OAFCRUD开发.docx_第4页
第4页 / 共86页
OAFCRUD开发.docx_第5页
第5页 / 共86页
点击查看更多>>
下载资源
资源描述

OAFCRUD开发.docx

《OAFCRUD开发.docx》由会员分享,可在线阅读,更多相关《OAFCRUD开发.docx(86页珍藏版)》请在冰豆网上搜索。

OAFCRUD开发.docx

OAFCRUD开发

OAFramework基于MVC设计模式

浏览器发送HTTP请求到控制器,控制器响应浏览器端输入,创建并设置模型,当模型发生变化时,视图得到通知,刷新界面显示。

OAFramework应用开发结构

1、应用模块拥有视图对象(数据)

2、根应用模块拥有事务对象(调用存储过程)

3、页面的pageLayout拥有根应用模块

4、业务组件重用,各层调用关系Client->AM->VO->EO

OAFramework开发步骤

1、创建业务组件

1)业务组件包

2)实体对象(实体关联)

3)基于实体对象(或SQL)建立视图对象(视图连接)

4)应用模块对象,把视图对象实例添加到应用模块中

2、以声明方式定义页面(Region和Item)

3、为需要的Region设置控制器类

4、编写应用模块代码和控制器类代码

配置开发环境

1、解压缩JavaDeveloper10OAExtension压缩文件至硬盘目录(解压目录不要包含空格和中文)。

2、添加系统环境变量JDEV_USER_HOME,指定一个目录,此目录作为程序开发和本机运行时的主目录,如下图所示,从图中可以看出,第一步文件的解压目录为D:

\Oracle\JDeveloper。

3、从服务器下载dbc文件,dbc文件放在JDEV_USER_HOME指定路径的子目录下,dbc文件必须放在secure目录下。

(即D:

\Oracle\JDeveloper\jdevhome\jdev\dbc_files\secure)

4、在jdevbin(D:

\Oracle\JDeveloper\jdevbin)中找到jdeveloper.exe文件,点击右键建立桌面快捷键,双击jdeveloper桌面快捷键。

5、创建(或打开)项目。

6、使用jdeveloper建立数据库连接,用于设计时访问数据库。

7、测试连接。

建立连接和测试连接

1、选择File>New打开新建对话框,选择General>Connections>DatabaseConnection,如图:

2、点击确定,跳过欢迎页面,进入下图界面,修改ConnectionName,如图:

3、下一步,输入数据库的用户名,密码,如图:

4、下一步,输入数据库IP地址,端口号,数据库名称,如图:

5、下一步,点击TestConnection,如果在Status输出文本框中输出Success!

,即为连接成功。

如图:

*项目程序包整体结构

oracle.apps.应用产品简称.功能简称(业务简称(notice))

(eg:

inv库存管理系统,oracle.apps.inv.notice)

包路径

说明

命名规则

oracle.apps.inv.notice.server

项目的私有组件所在包,包含:

AM应用模板,VO视图对象,VL视图连接。

AM:

XxAM

VO:

XxVO

VL:

XxVL

oracle.apps.inv.notice.webui

项目的私有页面PG,控制器(CO)所在包

BbPG

页面名称+CO

oracle.apps.inv.schema.server

实体对象EO和实体联系对象AO所在的包。

(公用部分)

EO:

XxEO

AO:

XxAO

oracle.apps.inv.lov.server

值列表(listofValues)LOV视图,LOV应用模板AM,LOV的Java控制文件。

(公用部分)

XxLOVVO

XxLOVAM

oracle.apps.inv.lov.webui

LOV页面(LOVRegion)

XxLovRN

oracle.apps.inv.poplist.server

poplist下拉框(MessageChoice)视图VO

XxListVO

在建立新增页面的前面,先建立一个查询页面,在查询页面添加一个新增按钮,点击新增按钮弹出新增页面。

创建OA工作台和OA项目

选择File>New打开新建对话框,如图:

从新建对话框中选择General>WorkspaceConfiguredforOracleApplications,确定,进入NewOracleApplicationsWorkspace窗口,输入文件名(工作台名称),并选择AddaNewOAProject,如图:

确定后进入OracleApplicationsProjectWizard对话框,第一步更改FileName和DefaultPackage分别为:

CRUDDemo和oracle.apps.ak.create。

第二步选择DatabaseConnection,选择开始建好的数据库连接(也可以自己重新新增一个数据库连接),如图:

第三步,指定DBC文件路径,Application用户名(sysadmin)和密码(sysadmin),如图:

点击完成按钮完成工程的创建。

设置项目的运行选项

选择CRUDDemo.jpr项目,右键>ProjectProperties进行选项设置。

选择OracleApplicatons>RunOptions设置页,选择OADeveloperMode和OADiagnostic项到SelectedOptions中。

在运行期间OADeveloperMode提供了额外的代码检测和标准检测;OADiagnostic使运行出来的页面顶部有全局按钮Diagnostics按钮,这个选项覆盖了其他几个对应的预制文件。

如图:

查询

1、创建根UI应用模块(AM)

为页面创建一个应用模块(AM),使其成为页面的根节点。

在导航栏中右键点击CRUDDemo.jpr,通过菜单选择New,在弹出的对话框中选择BusinessTier>ADFBusinessComponents>ApplicationModule,如图:

点击确定,跳过欢迎页,在Package中指定包名为:

oracle.apps.ak.create.server,在Name中指定AM名称为CreateAM,如图:

选择下一步到第四步Java页中选择GenerateJavaFile(s),点击下一步,完成。

如图:

2、为根应用模块(AM)启用钝化功能

钝化功能对所有的根UI应用模块(AM)使用,详细内容请参考OAFramworkDeveloper’sGruide。

从导航栏中选择CreateAM应用模块,右键从菜单中选择EditCreateAM(或者双击CreateAM),在弹出的对话框中选择CustomProperties节点:

在Name字段中输入RENETION_LEVEL,

在Value字段中输入MANAGE_STATE,

选择Add按钮增加,如图:

点击确定按钮,设置成功退出向导。

3、创建实体对象(EO)

为FWK_TBX_EMPLOYEES表创建一个实体对象(EO)

1)在导航栏中右键点击CRUDDemo.jpr,新建New弹出对话框,BusinessTier>ADFBusinessComponents>选择EntityObject,如图:

2)确定,跳过欢迎页面,在Name中输入EmployeesEO,设置Package为oracle.apps.ak.create.schema.server,选择DataBaseSchema为AK,在SchemaObject中输入AK.FWK_TBX_EMPLOYEES,如图:

3)选择下一步到第三步AttributeSettings,确保EmployeeId的PrimaryKey的复选框选中,不改变其他任何值。

4)选择下一步,在java页面中,为EntityObjectClass:

EmployeesEOImpl选择GenerateJavaFile选择框,在GenerateMethods区域选择Accessors、CreateMethod、RemoveMethod、ValidationMethod,点击ClassExtends按钮,确保基类为oracle.jbo.server.EntityImpl,如图:

5)选择下一步,在Generate页,确保GenerateDefaultViewObject选项框没有被选中,如图:

6)选择下一步,点击完成按钮创建EO。

7)选择EmployeesEO,双击,在弹出的对话框中,选择Tuning,勾选UseUpdateBatching,设置文本框值为100,如图:

4、创建视图对象EmployeeSumsVO(VO)

在导航栏中右键点击CRUDDemo.jpr,新建New弹出对话框,BusinessTier>ADFBusinessComponents>选择ViewObject,如图:

确定,跳过欢迎页,修改Package和Name,如图:

下一步,设置视图对应的EO,选择前面建立的实体EmployeesEO,添加到Selected中,如图:

点击下一步,选择用户所需要的字段,如图:

选择下一步到第七步Java页面,仅仅勾选ViewRowClass下的两个选项,如图:

点击下一步,完成按钮。

5、添加视图对象(VO)到根应用模块(AM)

选择CreateAM,双击弹出对话框,选择DataModel,选择新建的视图EmployeesSumVO到CreateAM下面,确定完成。

6、创建初始查询页面

简单查询

1.在导航栏中右键点击CRUDDemo.jpr,新建New弹出对话框,WebTier>OAComponents>选择Page,如图:

2.选择确定,在NewPage对话框中,输入Name和Package的值,如图:

选择确定,创建页面。

3.更改页面布局

1)在结构窗口中,选择EmployeesSumPG中的region1,设置其以下属性,如图:

属性

ID

PageLayoutRN

AMDefinition

oracle.apps.ak.create.server.CreateAM

WindowTitle

员工信息查询

Title

员工信息

2)在新增页面添加查找区域

选择PageLayout区域,点击右键“New>Region”,创建一个新的区域。

设置新创建区域的属性:

属性

ID

MainRN

RegionStyle:

Query

Construction

resultsBasedSearch

IncludeSimplePanel

True

IncludeViewsPanel

True

IncludeAdvancedPanel

True

3)添加查询结果表到MainRN

在结构窗口中选择MainRN区域,右键从上下文菜单中选择New>RegionUsingWizard,按下一步跳过欢迎页,在BC4JObjects页中,在ApplicationModules选择对应的AM下的视图。

如图:

下一步,在RegionProperties页中设置RegionID的值为EmployeesTable,RegionStyle的值为Table,如图:

下一步,在ViewAttributes中,选择查询表格中要显示的字段列,如图:

下一步,设置对应的列显示的名称以及字段控件类型(比如可以编辑输入或者不可编辑等),如图:

(这里是查询显示,因此所有列都设置为messageStyledText)

点击完成,完成表格的创建。

在页面中选择创建的表格EmployeesTable,设置其属性:

属性

Width

75%

Text:

员工列表

AdditionalText

员工列表

在界面上设置查询项,选择表格EmployeesTable中的需要设置查询的字段,设置其属性为:

这里设置EmployeeId和FullName为查询项。

(可以根据需要设置不同的查询列)

属性

SearchAllow

True

4.运行程序,界面如下:

运行错误解决办法

1、500InternalServerError

如果运行界面报如下错误,如图:

则需要配置如下:

在系统盘(C盘),目录“C:

\WINDOWS\system32\drivers\etc”下面找到文件hosts,复制粘贴到桌面,用记事本打开,添加Host信息。

其中,10.10.198.158为数据地址,为host地址,根据需要修改。

修改之后,保存,然后复制粘贴到之前的目录“C:

\WINDOWS\system32\drivers\etc”中,进行替换,再重新运行页面。

如图:

2、Youhaveinsufficientprivilegesforthecurrentoperation

如运行时报如下错误:

解决办法:

JDeveloper-tools-EmbeddedOC4JServerpreferences

弹出框中查看Startup中的属性设置,如图:

将其中的HostNameOrIpAddressUsedToRefertoEmbeddedOC4J选择为DefaultLocalIPAddress.

客户化查询

1、新增查询页面CustomSearchPG

1)选择工程CRUDDemo,右键>New>WebTier>OAComponents>Page,确定,弹出如图:

修改Name:

CustomSearchPG,选择(修改)包路径(Package):

oracle.apps.ak.create.webui。

2)选择CustomSearchPG,在结构窗口中修改region1的属性,如下:

属性

ID

PageLayoutRN

AMDefinition

oracle.apps.ak.create.server.CreateAM

WindowTitle

客户化查询

Title

客户化查询

3)页面中增加查询区域(Region)

选择PageLayoutRN区域,右键New>Region,新建查询区域,设置区域属性如下:

属性

ID

MainRN

RegionStyle

query

ConstructionMode

autoCustomizationCriteria

IncludeSimplePanel

True

IncludeAdvancedPanel

True

4)查询区域增加查询表格(table)

选择查询区域(MainRN),右键>New>RegionUsingWizard,跳过欢迎页,如图:

选择对应的AM下的所需的视图(没有则建立相应的视图,再新增查询表格,视图的建立请参考前面章节)

下一步,输入表格名称(SearchTable)和类型(table),如图:

下一步,选择视图中字段,用于页面表格显示,如图:

下一步,修改显示字段的名称和控件类型,如图:

下一步,完成,即完成表格的创建。

5)修改表格属性

在页面(CustomSearchPG)中选择新建的表格(SearchTable),修改其属性,如下:

属性

Width

75%

Text

员工列表

AdditionalText

员工列表

6)查询区域(MainRN)创建查询条件

a.简单查询

1)页面中选择查询区域(MainRN),右键New>simpleSearchPanel,创建简单查询条件,系统会自动创建一个header区域和一个messageComponentLayout区域。

选择header区域,设置其属性如下:

属性

ID

SimpleSearchHdr

Text

简单查询

选择messageComponentLayout区域,设置其属性如下:

属性

ID

SimpleSearchRN

2)选择messageComponentLayout区域,右键New>messageTextInput,反复执行此操作,新增两个messageTextInput控件,作为两个查询条件,设置其属性如下:

属性

ID

SearchEmpID

MaximumLength

30

Prompt

员工ID

属性

ID

SearchFullName

MaximumLength

30

Prompt

员工名称

3)选择查询区域(MainRN),右键New>simpleSearchMappings,系统会自动创建一个simpleSearchMappings控件和一个queryCriteriaMap1控件。

选择queryCriteriaMap1控件,设置其属性:

属性

ID

SearchIDMap

SearhItem

SearchEmpID

ResultsItem

EmployeeID

选择simpleSearchMappings,右键New>queryCriteriaMap,设置其属性如下:

属性

ID

SearchNameMap

SearhItem

SearchFullName

ResultsItem

FullName

b.高级查询

根据a中建立简单查询,建立高级查询的panel和Mappings。

1)页面中选择queryComponents,右键New>AdvanceSearchPanel,创建简单查询条件,系统会自动创建一个header区域和一个messageComponentLayout区域。

选择header区域,设置其属性如下:

属性

ID

AdvanceSearchHdr

Text

高级查询

2)选择AdvanceSearchHdr,右键New>advanceSearch,系统会自动创建一个AdvanceSearch区域,Criteria,CriteriaRow1以及两个Item:

Item1和Item2。

选择AdvanceSearch区域,设置其属性ID:

AdvanceSearchRN。

选择CriteriaRow1,设置其属性ID:

AdvanceSearchEmpID。

选择Item1,设置其属性Prompt:

员工ID。

选择Item2,设置其属性如下:

属性

ID

AdvanceSearchID

MaximumLength

30

AdditionalText

员工ID高级查询条件

选择Criteria,右键New>CriteriaRow,创建一个CriteriaRow控件。

选择新创建的CriteriaRow控件,设置其属性ID:

AdvanceSearchName。

选择Item1,设置其属性Prompt:

员工姓名。

选择Item2,设置其属性,如下:

属性

ID

AdvanceSearchFullName

MaximumLength

30

AdditionalText

员工姓名高级查询条件

3)页面中选择queryComponents,右键New>AdvanceSearchMappings,系统会自动创建一个advanceSearchMappings控件和一个queryCriteriaMap1控件。

选择queryCriteriaMap1控件,设置其属性:

属性

ID

AdvanceSearchIDMap

SearhItem

AdvanceSearchID

ResultsItem

EmployeeID

选择advanceSearchMappings,右键New>queryCriteriaMap,设置其属性如下:

属性

ID

AdvanceSearchNameMap

SearhItem

AdvanceSearchFullName

ResultsItem

FullName

2、运行结果

简单查询页面

高级查询页面:

新增

1、创建新增页面视图EmployeesVO

创建视图步骤如前面所示,只是第七步Java页面,默认选择,不做任何处理。

创建视图之后,添加视图对象EmployeesVO(VO)到根应用模块CreateAM中(AM),方法如上所示。

2、基于EmployeesVO创建新增页面

1)选择工程CRUDDemo.jpr,点击右键“New>WebTier>OAComponente>Page”,创建一个页面。

在弹出框中,设置界面名称和所在程序包:

Name:

NewEmployeePG

Package:

oracle.apps.ak.create.webui

2)点击完成。

3)对新增页面NewEmployeePG进行设置

选择新增页面NewEmployeePG中的“PageLayout”区域,点击右键“New>RegionUsingWizard”,根据向导创建一个表格。

在弹出框的,BC4JObject页面中,在“ApplicationModule”选择当前对应的AM:

oracle.apps.ak.create.server.CreateAM,并选择所对应的VO,如图:

点击下一步,设置控件的属性:

属性

RegionID

EmployeesTable

RegionStyle:

defaultSingleColumn(也是一中表格,但是是单表的)

如图:

点击下一步,在ViewAttributes页面,选择所需要在界面上显示的字段。

点击下一步,在RegionItems页面分别设置每一个字段的属性,如图:

其中,字段EmployeeID的属性设置如下:

属性

Prompt

ID

Style:

MessageStyledText

设置其他字段属性值的Style类型为MessageTextInput,即可输入的。

点击完成,完成表格的创建。

4)在页面中选择EmployeesTable,设置其属性RegionStyle:

MessageComponentLayout。

5)对新增页面NewEmployeePG中增加按钮

选择新增页面NewEmployeePG中的“PageLayout”区域,点击右键New>Region,创建一个按钮区域,设置新增区域的属性:

属性

RegionStyle

pageButtonBar

ID

ButtonRN

选择新增的按钮区域“ButtonRN”,点击右键“New>Item”,重复执行此步操作,创建两个控件,分别按照下表设置其属性:

属性

ItemStyle

submitButton

ID

Apply

Prompt

保存

属性

ItemStyle

submitButton

ID

Cancel

Prompt

取消

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 中医中药

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1