相关开发配置详见 Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发

需求概述

需求描述

要点1:页面初始化的时候,获取当前用户,并显示在界面。

要点2:勾上复选框显示详细信息,勾掉隐藏详细信息(选做)

效果图


开发步骤

创建基于OA的项目:Hello

参考下表完成:

参数
默认目录 <JDEV_USER_HOME>\myprojects
Workspace DEMO.jws
Project DEMO.jpr
Default Package demo.oracle.apps.cux.emp
DBC File <JDEV_USER_HOME>\dbc_files\secure\VIS.dbc
用户/密码 HAND_11175/handhand
应用/职责简称 CUX/HAND
Database Connection Syfdemo.ml.com

检查Project运行属性:调式信息

添加OA Diagnostic、OADeveloperMode。如果默认的项目属性已经设置,这里就不用设置了。

创建View Objects:HelloVO

该VO用来完成增加和修改。在demo.oracle.apps.cux.hello.server下创建。

Name: HelloVO

创建向导中,勾选 Rows
Populated Programmatically,not Based on a Query.

HelloAM中DataModel,选HelloVO。

修改AM的Java类

在EmpAMImpl.java中加入方法,去调用VO:

public void setHelloVOCheckFlag (String checkFlag) {       OAViewObject  hVO = (OAViewObject)findViewObject("HelloVO1");       OARow row = (OARow)hVO.first();if ("on".equals(checkFlag)) {           row.setAttribute("CheckFlag", true);        } else {           row.setAttribute("CheckFlag", false);        }
}public void init()  {      OAViewObject hVO = (OAViewObject)findViewObject("HelloVO1");if (hVO != null)       {        if (hVO.getFetchedRowCount() == 0)        { hVO.setMaxFetchSize(0); hVO.executeQuery();      hVO.insertRow(hVO.createRow());OARow row = (OARow)hVO.first();            row.setAttribute("RowKey", 1);         }      }
}

创建Page:HelloPG

参考下表完成:

参数
Name HelloPG
Package demo.oracle.apps.cux.hello.webui

修改最高层区域

参考下表完成:

参数
ID PageLayoutRN
Region Style pageLayout
AM Definition oracle.apps.fnd.framework.server.OAApplicationModule
Window Title Hello Window Title
Title Hello Page Header
Auto Footer True
Form True

创建主内容区域

N: 右键PageLayoutRN/New/Region
参考下表完成:

参数
ID MainRN
Region Style PageLayout

创建文本框UserName

N: 右键MainRN/New/Item
参考下表完成:

参数
ID UserName
Item Style messageStyledText
Prompt Hello
Length 20
Maximum Length 50

创建Checkbox

N: 右键MainRN/New/Item
参考下表完成:

参数
ID CheckFlag
Item Style messageCheckBox
Initial Value N
Checked Value Y
Unchecked Value N
Initially Checked False
Prompt Display
Action Type fireAction
Event show

创建文本框Details

N: 右键MainRN/New/Item
参考下表完成:

参数
ID Details
Item Style messageTextInput
Prompt Details Information :
Rendered ${oa.HelloVO1.CheckFlag}

创建控制器

N: 右键MainRN/New/Set New Controller…
参考下表完成:

参数
Package demo.oracle.apps.cux.hello.webui
Class Name HelloCO

实际上是创建类java类HelloCO。修改代码:
1、 添加引用类

import oracle.apps.fnd.framework.OAException;
import java.io.Serializable;
import oracle.apps.fnd.framework.webui.beans.message.OAMessageStyledTextBean;

2、 修改processRequest()

 public void processRequest(OAPageContext pageContext, OAWebBean webBean)  { super.processRequest(pageContext, webBean); OAApplicationModule am = pageContext.getApplicationModule(webBean); //获取当前登录用户名显示在页面上String userName = pageContext.getUserName();OAMessageStyledTextBean mstBean = OAMessageStyledTextBean)webBean.findChildRecursive("UserName"); mstBean.setText("Hello " + userName + " !"); am.invokeMethod("init"); }

3、 修改方法processFormRequest()

public void processFormRequest(OAPageContext pageContext, OAWebBean webBean) {super.processFormRequest(pageContext, webBean); OAApplicationModule am = pageContext.getApplicationModule(webBean); String event = pageContext.getParameter(EVENT_PARAM); if(event.equals("show")){String checkFlag = pageContext.getParameter("CheckFlag");System.out.println(checkFlag); Serializable[] params = {checkFlag};am.invokeMethod("setHelloVOCheckFlag", params);           }}

4、 右键HelloWorldMainCO.java或其代码内任何区域,Rebuild。

在本地Jdeveloper自带的OC4J服务器中运行

N: 右键HelloPG.xml,运行。

发布到EBS

步骤同“ Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发”的发布,每个XML文件,都要import一下,至于功能定义,只要定义HelloPG就可以了。

Oracle OAF 学习小结(3)- 字段控制 的完整案例开发相关推荐

  1. Oracle OAF 学习小结(2)- 增删改查/LOV/Button/Sequence 的完整案例开发

    开发配置 了解EBS服务器目录 $JAVA_TOP JSP中可以引用标准Java类库,也可以引用其他Java类库,客户化开发的类库统一放在$JAVA_TOP下,按目录组织.OAF开发的文件都放在这里. ...

  2. OAF 增删改查/LOV/Button/Sequence 的完整案例开发

    开发配置 了解EBS服务器目录 $JAVA_TOP JSP中可以引用标准Java类库,也可以引用其他Java类库,客户化开发的类库统一放在$JAVA_TOP下,按目录组织.OAF开发的文件都放在这里. ...

  3. 深度学习实现NBA球星颜值打分完整案例(二)

    已经上传了完整的代码和数据,数据比较少,大家可以帮忙补充. 项目地址(记得给个start):https://github.com/jimenbian/face_rank 最近咳嗽加班比较严重,耽误了几 ...

  4. 三菱PLC4轴控制伺服完整案例,三菱PLC FX3U加三菱1PG定位模块控制4个松下伺服,有完整的注释,结构清晰明了

    伺服控制程序JOG HOME 定位 全部写成了功能块FB .你可以直接拿过去用,MCGS触摸屏,做的配方,也可以拿出来,有详细的电气图纸CAD,IO规划表. ID:4526660543412966自动 ...

  5. MySQL,Oracle系统学习,以及SQL语言-----数据库篇学习笔记

    Handouts MySQL和Oracle系统学习 一. 开篇立意(~~~~必看,有说明~~~~) 二. Oracle 篇 数据库存在之意义 基础概念(必须看,后面不会说明!!!) Oracle管理系 ...

  6. Oracle DBA学习基础篇(一) Oracle体系结构 学习笔记

    这里是我通过Oracle DBA实战这本书学习的 Oracle体系结构,大部分是我对书中的内容做的总结,还有遇到不理解的知识点,通过查询资料做的整合.通过这篇博客希望可以让你对Oracle的一些内部原 ...

  7. oracle的学习规划路线

    1.Oracle基础教程 该部分学习主要是针对了解和使用Oracle,算是Oracle的入门级学习.主要学习Oracle的基础理论,以此为基础学会使用Oracle.主要内容有: Oracle介绍:介绍 ...

  8. JavaSE学习小结二

    JavaSE学习小结二 记录学习----------JavaSE模块三&四 其中大部分是一些工具类,会将常用方法及其功能描述整理成表格方便日后查阅 文章目录 JavaSE学习小结二 一.Obj ...

  9. Oracle存储过程学习

    Oracle存储过程学习 目录 Oracle 存储过程... 1 Oracle存储过程基础知识... 1 Oracle存储过程的基本语法... 2 关于Oracle存储过程的若干问题备忘... 4 1 ...

最新文章

  1. java读取XML文件的四种方式
  2. 【01】Clean Code
  3. 操作系统【抢占式处理机调度例题、LLF最低松弛度优先算法】
  4. scala学习 之 环境搭建(一)
  5. 如何在IDEA 中使用Git
  6. irq4中断子程序c语言写法,AVR汇编程序参考
  7. 【C语言进阶深度学习记录】二十六 C语言中的字符串与字符数组的详细分析
  8. dtoj#4263. duliu
  9. x64 结构体系下的内存寻址
  10. 200个c语言程序(由简单到复杂),200个c语言程序(由简单到复杂)
  11. Node编码格式的设置
  12. asp 后台批量管理程序
  13. 团队-象棋游戏-代码设计规范
  14. Oracle 使用 PL/SQL Developer 生成 AWR 报告
  15. 在FL Studio中如何使用Patcher插件
  16. 过极验滑块破解-小米商城app过滑块
  17. Duplicate entry ‘‘ for key ‘Primary‘
  18. 计算机基本操作评课记录,《Word的基本操作》评课稿--李存业
  19. 浏览器网页标签页图标显示
  20. C# SuperSocket 手把手教你入门 傻瓜教程---1(服务器单向接收客户端发送数据)

热门文章

  1. Typora+PicGo+Gitee实现图片上传功能
  2. win10安装EOP/op 解决 文件哈希值
  3. Integer对象范围(-128-127)之间
  4. 【图像处理】白平衡原理及实现
  5. WebLogic域配置策略
  6. 收割90后,这些小程序玩出新高度
  7. Flink进阶系列--FLIP-27新的Source架构
  8. iam是什么意思中文_IM是什么意思
  9. TP-LINK多款路由器被曝存漏洞 或泄露网银密码
  10. 自定义marker图标(icon)