我在使用了下载功能之后,再往页面添加行或进行保存,页面老是报浏览器后退的异常。

猜测是因为我的下载按钮使用的submitButton,它隐式的包含了一个submit动作,且我在代码中有一个Commit动作,而下载完成之后有一个

response.getOutputStream().flush();

response.getOutputStream().close();

操作,导致页面失效。

解决方式:

将submitButton改为button,再增加firePartialAction的事件即可。

另:如果是标准的页面,需要添加一个button按钮,且为其添加事件的代码如下。

//预览审核报告

OACellFormatBean createPreviewCellBean =(OACellFormatBean)this.createWebBean(pageContext , OAWebBeanConstants.CELL_FORMAT_BEAN , null , null);
OAButtonBean previewPDFBean =
(OAButtonBean)createWebBean(pageContext , OAWebBeanConstants.BUTTON_BEAN , null , "CuxPreviewPDFEvent");
previewPDFBean.setID("CuxPreviewPDFBtn");
previewPDFBean.setName("CuxPreviewPDFBtn");
String previewPDF = pageContext.getMessage("CUX" , "CUX_PREVIEW_PDF_FILE" , null);
previewPDFBean.setLabel(previewPDF);
previewPDFBean.setText(previewPDF);
Hashtable apprHashTable = new Hashtable(1);
//此事件会隐式的包含submit动作。
//apprHashTable.put("CuxSuppCateMappingId" ,
// new OADataBoundValueViewObject(CuxViewApprHisBean , "SuppItemCateMappingId" , "NewSuppReqSearchVO"));
//previewPDFBean.setFireActionForSubmit("CuxPreviewPDFEvent", null, apprHashTable, true, true); //此事件等价于在Button上设置了firePartialAction事件,且parameters中的key,value分别为param_AucHeaderId,{$AuctionHeaderId}
FirePartialAction previewFirePartialAction = new FirePartialAction("CuxPreviewPDFEvent");Parameter[] params = new Parameter[4];
params[0] = new Parameter();
params[0].setValueBinding(new OADataBoundValueFireActionURL(attrBidValueBean , "{$AuctionHeaderId}"));
params[0].setKey("param_AucHeaderId");
previewPDFBean.setAttributeValue(OAWebBeanConstants.PRIMARY_CLIENT_ACTION_ATTR,previewFirePartialAction);
createPreviewCellBean.addIndexedChild(previewPDFBean);
OARowLayoutBean btnRowBean =(OARowLayoutBean)webBean.findChildRecursive("ButtonBarRow");
btnRowBean.addIndexedChild(createPreviewCellBean);

添加图片按钮事件

        OAImageBean CuxViewApprHisBean = (OAImageBean)createWebBean(pageContext,OAWebBeanConstants.IMAGE_BEAN,null,null);
CuxViewApprHisBean.setID("CuxViewApprHistory");
String apprHierarchy = pageContext.getMessage("CUX" , "CUX_SUPP_INQURE_APP_HIS" , null);
CuxViewApprHisBean.setLabel(apprHierarchy);
CuxViewApprHisBean.setSource(OAWebBeanConstants.APPS_MEDIA_DIRECTORY +"duplicate_enabled.gif");
Hashtable apprHashTable = new Hashtable(1);
apprHashTable.put("CuxSuppCateMappingId" ,
new OADataBoundValueViewObject(CuxViewApprHisBean , "SuppItemCateMappingId" , "NewSuppReqSearchVO"));
CuxViewApprHisBean.setFireActionForSubmit("CuxApproveHistEvent" , null , apprHashTable , true);
ResultRNBean.addIndexedChild(11 , CuxViewApprHisBean);

Table添加列

        OATableBean ResultRNBean =
(OATableBean)webBean.findChildRecursive("RegTableRN"); OAMessageStyledTextBean phoneBean =
(OAMessageStyledTextBean)createWebBean(pageContext,
OAMessageStyledTextBean.MESSAGE_STYLED_TEXT_BEAN,
null, "PhoneNumber");
phoneBean.setViewUsageName("NewSuppReqSearchVO"); //此列绑定的VO
phoneBean.setViewAttributeName("PhoneNumber"); //此列绑定的VO中的字段
phoneBean.setLabel("联系电话"); //此列需要显示的题头
ResultRNBean.addIndexedChild(9, phoneBean);

Table添加Switcher列

OASwitcherBean reviewSwitcherRN =
(OASwitcherBean)createWebBean(pageContext,
"/cux/oracle/apps/pos/onboard/webui/CuxSuppReqReviewSwitcherRN",
"reviewSwitcherRN", true);
if (ResultRNBean != null) {
ResultRNBean.addIndexedChild(12, reviewSwitcherRN);
}

标准删除按钮添加事件

OAImageBean DeleteBean =
(OAImageBean)webBean.findChildRecursive("Delete");
Hashtable deleteHashTable = new Hashtable(2);
deleteHashTable.put("mappingId",
new OADataBoundValueViewObject(DeleteBean,
"MappingId",
"NewSuppReqSearchVO"));
deleteHashTable.put("RegistrationStatus",
new OADataBoundValueViewObject(DeleteBean,
"RegistrationStatus",
"NewSuppReqSearchVO"));
DeleteBean.setFireActionForSubmit("CuxDelete", null, deleteHashTable,
true);

OAF中下载附件之后页面失效,报过时的数据异常,浏览器后退异常的更多相关文章

  1. OAF 中下载使用XML Publisher下载PDF附件

    OAF doesn't readily expose the Controller Servlet's HttpRequest and HttpResponse objects so you need ...

  2. golang gin框架中实现"Transfer-Encoding: chunked"方式的分块发送数据到浏览器端

    参考了这篇帖子: https://golangtc.com/t/570b403eb09ecc66b90002d9 golang web如何发送小包的chunked数据 以下是代码: r.GET(&qu ...

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

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

  4. vue Blob 下载附件报错

    vue Blob 下载附件报错,不妨试试: window.location.href=后台地址

  5. 解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the hierarchy”错的方法

    解决关于jquery中$.get()方法总是报“HierarchyRequestError: Node cannot be inserted at the specified point in the ...

  6. 在Winform开发框架中对附件文件进行集中归档处理

    在我们Winform开发中,往往需要涉及到附件的统一管理,因此我倾向于把它们独立出来作为一个附件管理模块,这样各个模块都可以使用这个附件管理模块,更好的实现模块重用的目的.在涉及附件管理的场景中,一个 ...

  7. Nginx 配置下载附件让浏览器提示用户是否保存

    Nginx配置下载附件让浏览器提示用户是否保存   by:授客  QQ:1033553122   测试环境 nginx-1.10.0 问题描述: 前端页面,IE11浏览器下请求下载附件模板,针对xls ...

  8. OAF中多语言的实现(转)

    正好前两天研究过这个问题,分享一下啊. 标题:        OAF中多语言的实现概述:        OAF的多语言的实现有两种方式,其一是直接通过页面上面的“个性化”连接,连接到指定的页面后,进行 ...

  9. java上传附件,批量下载附件(一)

    上传附件代码:借助commons-fileupload-1.2.jar package com.str; import java.io.BufferedInputStream;import java. ...

随机推荐

  1. cocoapod 快速更新,加载

    pod install --verbose --no-repo-update pod update --verbose --no-repo-update

  2. Rapid 2D-to-3D conversion——快速2D到3D转换

    https://blog.csdn.net/qq_33445835/article/details/80143598  目前想做一个关于2D转3D的项目,由于国内资料比较少而且大部分都是基于国外的研究 ...

  3. c++ 11开始语言本身和标准库支持并发编程

    c++ 11开始语言本身和标准库支持并发编程,意味着真正要到编译器从语言和标准库层面开始稳定,估计得到17标准出来.14稳定之后的事情了,根据历史经验,新特性的引入到稳定被广泛采用至少要一个大版本的跨 ...

  4. 20145127《java程序设计》第六周学习总结

    教材学习内容总结 第十章 输入与输出 文件的读写 网络上传数据的基础 10.1 InputStream与OutputStream 流(Stream)是对「输入输出」的抽象,注意「输入输出」是相对程序而 ...

  5. String & dp Problem Round 3 2017.4.22

    对每一个特征求前缀和,如果它减去前面的某一个地方的和,得到的每个特征是相等的,那么然后就可以更新答案. 需要解决这个两个问题 1.如何使答案尽量大? 这个很简单,直接找尽量靠前的地方就好了. 2,如何 ...

  6. AMS1117稳压模块

    AMS1117有降压稳压的作用.我们使用的是AMS1117-5,输出5V电压. 理论参数: 输出条件 最小值 理论值 最大值 理论电路图: 引脚图:

  7. Python3基础 try-多个指定except与不指定except 简单示例

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  8. ubuntu16.04下无线网卡无法正常连网

    背景:无线网卡初次连接可以正常上网,但是用了一会儿就会出现无法上网的情况 版本: Ubuntu 16.04 一.分析: 1.使用ifconfig命令发现不会显示无线网卡,说明无线网卡被关闭,笔者输出的 ...

  9. Java8中数据流的使用

    Code: @Data @ToString @NoArgsConstructor @AllArgsConstructor public class Employee { private Integer ...

  10. swift设计模式学习 - 原型模式

    移动端访问不佳,请访问我的个人博客 设计模式学习的demo地址,欢迎大家学习交流 原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 定义 用原型实例指定创建对象的种类,并且通 ...