`

OAF中如何新开一个窗口

阅读更多

OAF页面要新开窗口,可以在带有导航功能的Item,如link和button(非提交按钮),指定Target Frame属性为”_blank“,就可以新开窗口打开Destination URI属性指定的路径。

如果用户希望新开的窗口能隐藏地址栏、工具栏、菜单栏或者想控制窗口大小,那么在上面所说的Destination URI属性中使用

javascript:window.open(‘OA.jsp?page=XXX’,'<windowName>’, ‘<params>’)

 

注意:在对按钮的Destination URI属性使用Javascript的新开窗口时,需要在首选项中设置可访问功能为标准可访问性,否则Javascript将无法执行。

虽然以上的方法能够实现新开窗口,但还有很多的限制,比如如果在新开窗口前需要执行某些特定操作、或者新开窗口的URL是需要通过执行某些逻辑才能得到的,那么上面的方法就无法实现了。

在OAF中,Oracle不建议在OAF中使用Javascript,但是OAF还是提供了API用于执行Javascript:

1
2
3
4
OAPageContext.putJavascriptFunction(String name, String function)
OAPageContext.removeJavascriptFunction(String name)
OAPageContext.putJavascriptLibrary(String name, String library)
OAPageContext.removeJavascriptLibrary(String name)

 

 

假设用户提交了请求(点击链接、提交按钮等等触发事件的情况)需要新开窗口,在processFormRequest方法中,按一下步骤进行:

1、首先执行pageContext.removeJavascripFunction()

这是非常重要的一点,因为一旦Javascript注册到OAPageContext之后,就一直存在于OAPageContext中,这样会导致每次页面的刷新时都会执行Javascript。

 

2、在特定的事件中,执行程序逻辑,注册Javascript到OAPageContext对象中

1
2
3
4
5
6
7
8
9
if (pageContext.getParameter("Open") != null)
{
  // 执行其它处理
  ...
 
  // 定义Javascript
  String jScript = "window.open('OA.jsp?page=XXX')";
  pageContext.putJavascriptFunction("FunctionName", jScript)
}

 

注意:在调用putJavascriptFunction()时,必须指定Name参数,只有这样才可以调用removeJavascriptFunction()。

 

分享到:
评论

相关推荐

    OAF 系列教程 二 HelloWorld

    - 在弹出的窗口中填写工作空间的名称(例如:OAFLessons),并可选择是否同时创建一个新的 OA PROJECT。 - 点击“确定”完成工作空间的创建。 ##### 2. 创建 OA PROJECT - **概念**:OA PROJECT 是 OAF 中用来...

    07 OAF客户化开发实例之Helpdesk文档下载

    - 在新弹出的窗口中,选择“新建”按钮来创建一个新的用户变量。 - 设置变量名为`JDEV_USER_HOME`,变量值为`&lt;jdev_install_dir&gt;\jdev`,例如设置为`D:\JDeveloper9iCU3\jdevhome\jdev`。 - 完成设置后,记得保存...

    OAF 系列教程 一 Jdev的安装及配置

    在JDeveloper安装目录下的`D:\EBSTools\jdevelopment\jdevhome\jdev\dbc_files\secure`文件夹中,默认包含一个名为`template.dbc`的文件,该文件用于存储数据库连接配置信息。这是进行OAF开发过程中非常重要的一步,...

    oaf-react-router:React Router的可访问包装

    React Router文档概述了一种“滚动到顶部”的方法,该方法可在导航后将窗口滚动回到页面顶部,以模拟本机浏览器的行为。 还有一些软件包可以帮助您完成此任务,例如trevorr / react-scroll-manager或

    上网行为管理软件 监控QQ打印记录

    窗口标题日志、程序运行日志(实时记录所客户机所有操作,如:运行的程序、打开的网页、删除的文件、邮箱登陆等) 6.屏幕录像(可以对所有客户机或指定的客户机屏幕进行录像,备查看) 7.屏幕监控(实时查看客户机...

    ORACLE EBS 弹性域设置

    在用户界面上,则表现为一个包含段提示的弹出窗口。用户可以在这些段中输入特定的值。 - **值集(Value Sets)**:为每个段定义的有效值集合,用于验证用户输入,确保数据的一致性和完整性。 ##### 类型 - **Key ...

    oacle form 学习总结文档附练习文档.

    2. **Oracle Application Framework (OAF)**:Oracle提供的一个用于开发和扩展企业应用的框架,它可能与Oracle Form的集成进行了讲解。 3. **新版本特性**:在Oracle 11g中,表单可能引入了新的设计元素、性能优化...

    Oracle-ERP开发笔记

    - 形式间调用是指在一个FORM中启动另一个FORM的过程。这通常涉及到传递参数和控制流程。 **28. FORM遍历数据块** - 遍历数据块是处理大量数据时常用的技术。这可以通过编写循环代码来实现。 **29. Form实现复制上...

    ORACLE EBS 开发基础

    - 异常处理是PL/SQL编程中的一个重要概念,用于处理程序运行时可能发生的错误。 **18. PL/SQL面向对象编程** - PL/SQL支持面向对象编程特性,如类、对象等。 **19. PL/SQL实现字符串转成数组** - 通过编写自定义...

Global site tag (gtag.js) - Google Analytics