OAViewObject中clearCache(),reset(),setMaxFetchSize(-1)的使用
今天在页面跳转之后,明明执行了查询,且查询语句正确的情况下,页面不显示数据,且点击SubmitButton包浏览器后退异常。
代码如下:
OAViewObjectImpl vo=(OAViewObjectImpl)am.findViewObject("XXXVO1");
vo.clearCache();
vo.ExecuteQuery(headerid);
public void ExecuteQuery(Number headerid)
{
clearCache();
setWhereClauseParams(null);
setWhereClauseParam(0, headerid);
executeQuery();
}
打印日志发现:
VO.getMaxFetchSize()==0;
VO.getFetchRowCount()==0;
所以页面不显示数据且触发POST数据时导致浏览器后退异常。
代码修改为如下即正常。
OAViewObjectImpl vo=(OAViewObjectImpl)am.findViewObject("XXXVO1");
vo.clearCache();
vo.reset();
vo.setMaxFetchSize(-1);
vo.ExecuteQuery(headerid);
public void ExecuteQuery(Number headerid)
{
clearCache();
setWhereClauseParams(null);
setWhereClauseParam(0, headerid);
executeQuery();
}
这使我对
vo.clearCache();
vo.reset();
vo.setMaxFetchSize(-1);
Use the VO reset and clear cache both in the processFormRequest before redirecting to page again as well as in processRequest before initializing the VO.
But , Why???
于是对这三个方法产生了强烈的兴趣。
查询JDev Doc得到以下结果:
关于clearCache()方法的官方文档介绍如下:
clearCache
public void clearCache()Clears the view object cache.
This method can be called for resource conservation. Calling this method also forces an automatic re-execution of the query for all RowSets, which refreshes the cache from the database.
Specified by:
clearCache in interface ViewObject
Overrides:
clearCache in class OAJboViewObjectImpl
关于reset()方法暂时未找到文档介绍。
个人理解reset()方法会重置VO,包括VO中的指针。
关于setMaxFetchSize()的官方文档介绍如下:
setMaxFetchSize
public void setMaxFetchSize(int size)Maximum number of rows to fetch when a query is executed. This number takes effect the next time a query is executed.
Passing '-1' will retrieve all the rows. This is default behavior. (For OA Framework view objects, however, OA Framework initializes the maximum fetch size to be the value specified by "VO_MAX_FETCH_SIZE" profile option value.)
Passing '0' will result in the database query not being executed and also mark the view object as properly prepared for query execution.
Specified by:
setMaxFetchSize in interface ViewObject
Overrides:
setMaxFetchSize in class ViewObjectImpl
Parameters:
size - maximum number of rows to fetch
See Also:
executeQuery(), isPreparedForExecution(), setPreparedForExecution(boolean flag)
OAViewObject中clearCache(),reset(),setMaxFetchSize(-1)的使用的更多相关文章
- extjs中form.reset(true)出现的bug修复
在之前的开发extjs中,用ext.form.panel开发了一个表单,当使用了reset(true)之后,再次使用getRecord()却还是可以得到值,该值为上一次的旧值,查看了api文档,再结合 ...
- php中利用reset,current,next和each,list来遍历数组
1.利用for循环以及reset,current,next来遍历数组: $nums = array(11,22,33,44,55,66,77,88); for(reset($nums);current ...
- MySQL中RESET SLAVE和RESET MASTER的区别
RESET SLAVE的语法如下: RESET SLAVE [ALL] [channel_option] channel_option: FOR CHANNEL channel 其中,channel_ ...
- JQuery中如何重置(reset)表单(且清空隐藏域)
由于JQuery中,提交表单是像下面这样的: 所以,想当然的认为,重置表单,当然就是像下面这样子喽: 但是,不幸的是,这样写的话,会有一个让你很郁闷的结果,那就是,表单无法重置! 后来,上网查了一下, ...
- 在 Linux 中使用 Git 及其 和 Eclipse 的集成
##参考资料## 我是通过阅读<Pro Git>这本书学习 Git 的,我读的时候还是第一版的英文版,现在已经出第二版了,而且英文版和中文版都有.英文第二版的地址是 [https://gi ...
- 常见标签的默认属性值及相互作用——关于CSS reset的思考
在现在的网站设计中使用reset.css用重置整个站点的标签的CSS属性的做法很常见,但有时候我们已经为了reset而reset,我们经常看到这样的reset代码 div{ padding:0px; ...
- TCP异常终止(reset报文)
在之前做智能家居系统时,师弟做的服务端与WiFI盒子(客户端)进行通信时,总是出现异常情况,然后服务端不停地向客户端发送RESET报文,之前一直都不知道是什么情况,因此一直不知道是什么问题导致的,今天 ...
- 关于CSS reset的思考
关于CSS reset的思考 在现在的网站设计中使用reset.css用重置整个站点的标签的CSS属性的做法很常见,但有时候我们已经为了reset而reset,我们经常看到这样的reset代码 div ...
- AngularJs中,如何在父元素中调用子元素为自定义Directive中定义的函数?
最近一段时间准备使用AngularJs中的自定义Directive重构一下代码. 在这里说明一下,把自定义控件封装成Directive并不一定是要复用,而是要让代码结构更加清晰.就好像你将一个长方法拆 ...
随机推荐
- java集合 之 set 集合
set集合可以存储多个对象,但并不会记住元素的存储顺序,也不允许集合中有重复元素(不同的set集合有不同的判断方法). 1.HashSet类 HashSet按照Hash算法存储集合中的元素,具有很好的 ...
- SAM4E单片机之旅——21、DMAC之USART回显
DMAC也可以和外设进行数据交互.之前我们曾使用PDC进行USART的数据回显,这次就使用DMAC完成相同的工作.而且由于DMAC有内部的缓冲区,实现起来更为简单. 一. USART设置 因为之前已经 ...
- Android开发艺术探索学习笔记(三)
第三章 View的事件体系 3.1 View基础知识 3.1.1 什么是view View 是Android中所有控件的基类,是一种界面层的控件的一种抽象,它代表了一个控件. 3.1.2 View的 ...
- swap分区
swap分区 一块的新加进来的硬盘,我们要怎么给它创建swap分区呢?要遵循下面四个步骤: (1)使用一个现有的分区,比如记为A (2)然后分区类型的16进制编码,即A的16进制编码. (3)格式化A ...
- Weblogic11g下调WebService出现的一系列问题
Weblogic11g下调WebService出现的一系列问题 今天在远程测试机上测试前天写的调用WebService接口方法,遇到的问题还真多啊! 首先说明一下weblogic加载jar包的顺序: ...
- MongoDB学习笔记——集合管理
创建集合 使用db.createCollection(name, options) 方法创建集合 name 所创建的集合名称必选! options 可选.指定有关内存大小及索引的选项 db.creat ...
- php多线程pthreads的安装与使用
安装Pthreads 基本上需要重新编译PHP,加上 --enable-maintainer-zts 参数,但是用这个文档很少:bug会很多很有很多意想不到的问题,生成环境上只能呵呵了,所以这个东西玩 ...
- CSS盒模型重新理解篇
最近比较闲,思索着怎么提高下JS技术,于是找到了昵称为豪情的这哥们的一篇文章,应该是哥们吧,详细了解了下,发现其中的试题CSS部分有些做起来很吃力,于是乎各种google恶补盒模型,找到了这哥们的一文 ...
- Unity3d内置浏览器
uWebKit是一个Unity3d插件,个人认为比较强大,值得收藏啊 有图有真相: 安装以及破解说明: 1.导入资源包 2.将破解目录里的Editor复制到工程项目的Assets目录下进行覆盖 3.打 ...
- Windows Live Writer离线编写博客
WLW最新版本为2012,官网下载 Windows Live Writer配置步骤 使用Windows Live Writer 2012和Office Word 2013 发布文章到博客园全面总结 L ...