我的 ADF 表单工作正常,除了一个奇怪的缓存问题。我有一个不使用数据库的 ADF 表单。它有一个输入文件字段,用户可以选择电子表格。当他们单击处理文件按钮时,它会读取电子表格,进行一些数据操作并写入一个固定文件。当他们点击处理文件按钮时,包含文件名的文本框基本上变成了一个标签,没有显示任何框,它显示了他们上传的文件的名称。当我关闭浏览器并重新打开它时,页面会返回,最后选择的文件仍显示在标签中。我还注意到,在程序开始时初始化为零的全局变量(在类内)的值从它在第一次测试结束时的最后一个值开始。在浏览器中多次刷新页面并没有重置页面。为什么会这样?我认为如果再次打开页面时关闭浏览器,它应该重新开始。我通过在程序中进一步设置为零来解决全局变量的问题,但我无法将文件名值设置为空。似乎在单击按钮之前它不会生效。我应该做一些刷新吗?我尝试使用 Java 刷新整个页面,但这似乎不起作用。在单击按钮之前生效。我应该做一些刷新吗?我尝试使用 Java 刷新整个页面,但这似乎不起作用。在单击按钮之前生效。我应该做一些刷新吗?我尝试使用 Java 刷新整个页面,但这似乎不起作用。
我还应该提到我使用的是 Internet Explorer 浏览器,当我在之前没有调出页面的不同浏览器 Chrome 中尝试它时,它仍然选择了文件。似乎只有在我重新部署应用程序时才会重新开始。
我正在使用 jDeveloper 11.1.1.4。(也使用 11.1.1.6 尝试过)Weblogic 服务器是 10.3.6。我可以告诉你,我检查了 weblogic-application.xml 文件中的会话选项卡。唯一检查的是 Enable SessionTracking 和 Enable URL Rewriting for Session Tracking。内存中的会话是无限的。在 Cookies 下,选中启用 cookie 和启用 cookie 的 HTTP 代理缓存。在 Cookie 生命周期下,选择了 Cookies never expire。不过,我没有设置任何 cookie,除非这是在幕后做某事。持久存储设置为内存。
其他一切都是空白的。我尝试取消选中启用会话跟踪和启用 URL 重写和重新部署,但页面只是挂起并且根本无法加载。
所以,这就是我所在的地方。我一直在尝试寻找一种方法来重置 inputFile 对象,但到目前为止还没有运气。我是 ADF 和 Java 的新手,所以请考虑到这一点提出任何建议,我可能需要更多细节。谢谢。