OAF控件及常见问题汇总

本文档总结了OAF(Oracle Application Framework)中控件的常见使用方法和问题,包括如何传递并保持页面值,下拉框事件绑定,LOV(Look Up Value)的lovPrepare和lovUpdate事件,隐藏控件的显示与隐藏控制,以及在OAF中注册JS事件等。此外,还涵盖了表格显示格式、分页和对齐方式的调整,以及EO(Entity Object)和PVO(Page View Object)的相关操作。
摘要由CSDN通过智能技术生成

/*OAF控件及常见问题使用
OAF 东方瀚海
http://fccjxxw.com/m/b071defc4afe04a1a8ede1b4.html**/

点击此页面传一个值,并且此值会一直有效做法

参考博客:http://hutianci.iteye.com/blog/1015925

(1)在前台第一次进页面初始化时存值获取[在控件formValue存执]*/
OAFormValueBean oucdValue = 
         (OAFormValueBean)webBean.findChildRecursive("oucd");
oucdValue.setValue(pageContext, oucd);
/*(2)在后台第一次进页面初始化时存值获取:TransientValue是支持久化在本地JVM,
不会跨JVM持久化或Servlet Session范围保存。当root appliction module被回收
时,TransientValue会丢失*/
pageContext.putTransactionTransientValue("oucdValue",oucd);
String oucdValue =pageContext.getTransactionTransientValue("oucdValue").toString();

(3)设置全局变量(在类下设置)

--------------------------下拉框、LOV、隐藏-----------------------------

1、下拉框绑定事件(可直接在下拉框控件下绑定事件)

if ("changeList".equals(event)) {
         OAMessageChoiceBean totalInv = 
                   (OAMessageChoiceBean)webBean.findChildRecursive("totalInv");
         String selectValue = totalInv.getSelectionValue(pageContext);
         Serializable[] parameters = { selectValue };
         am.invokeMethod("handleListChangeEvent", parameters);
}

//Lov绑定事件点击手电筒 触发 lovPrepare 事件

//lovValidate手动修改Lov值时(点击别处时)触发事件
//lovUpdate从选择页面回主页面时触发事件
if ("lovUpdate".equals(event)) {
    String lovInputSourceId = 
     pageContext.getParameter(SOURCE_PARAM); //ID获取当前点击Lovinput控件的id
      if("categoryLovInput".equals(lovInputSourceId)) {
        ......
      }
}
if ("lovPrepare".equals(event)) {
         // txtSearch 为 LovInput 的条件框 
         OAFormValueBean txtSearch = 
                   (OAFormValueBean)webBean.findChildRecursive("category");
         // 设置 名称为 categoryClass 的 AM 参数 用于 传递到 LovInput的 page 页面中
         ((OADBTransaction)am.getTransaction()).putTransientValue("category", 
                                                                  txtSearch.getText(pageContext));
    }
//在 LovInput Page 的CO 中processRequest 添加
//获取刚刚从主页面设置的 参数
    String txtSearch = 
            (String)pageContext.getTransactionTransientValue("category");
                           
以类别和等级为例:其中只要类别为Lov时,可以在类别lovMapping下的lovMap对应
LOV Region Item设置值为:ParentFlexValueLow,
Criteria Item值设置为:对类别Id,
设置Programmatic Query设置为:True

2、hideShow控件控制:设置其展示和隐藏功能

OADefaultHideShowBean hideShow1 = 
 (OADefaultHideShowBean)webBean.findChildRecursive("hideShow1");
hideShow1.setDefaultDisclosed(pageContext,false);
(如果是利用其他控件进行控制,则需要进行刷新页面)
注意:此处不是OAHideShowBean类、对应属性设置也不是setDisclosed

//动态控件值的获取(控件属性动态时)

String[] departs = {"departmentCho"};
HashMap dpts =CustomSearchUtil.getBeanValues(pageContext,webBean,departs);  
String departments = dpts.get("departmentCho")+"";
3、控件
  public static HashMap getBeanValues(OAPageContext pageContext, OAWebBean webBean, 
                                          String[] strWebBeanNames)
  {
    HashMap searchMap = new HashMap();
    if (strWebBeanNames != null)
    {
      OAWebBean itemWebBean =null;
      for (int i = 0; i <strWebBeanNames.length; i++)
      {
        //Search for Bean
        itemWebBean =webBean.findChildRecursive(strWebBeanNames[i]);
                   Object valueStr = null;
                   String value = "";
        if (itemWebBean !=null)
        {
         //OAMessageTextInputBean
          if(itemWebBean instanceof OAMessageTextInputBean)
          {                      
                       valueStr =((OAMessageTextInputBean)itemWebBean).getValue(pageContext);
           //((OAMessageTextInputBean)itemWebBean).setValue(pageContext, null);
          }
         //OAMessageLovInputBean
          else if(itemWebBean instanceof OAMessageLovInputBean)
          {
            valueStr = ((OAMessageLovInputBean)itemWebBean).getValue(pageContext);
           //((OAMessageLovInputBean)itemWebBean).setValue(pageContext, null);
          }
                     //OAMessageLovChoiceBean
                     else if ((itemWebBean instanceofOAMessageLovChoiceBean))
                     {
            valueStr = ((OAMessageLovChoiceBean)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值