当前位置: 技术问答>java相关
提示页面与多线程加载问题(JSP)-- 2
来源: 互联网 发布时间:2017-04-07
本文导语: 我想给用户一个“正在加载...”的提示,等后台的一个比较大的PDF文件生成好之后再在页面上显示出来。 具体要求及界面情况如下: 我的窗口有两个Frame,上面一个是统计条件,下面准备用来显示统计结果(以PDF文...
我想给用户一个“正在加载...”的提示,等后台的一个比较大的PDF文件生成好之后再在页面上显示出来。
具体要求及界面情况如下:
我的窗口有两个Frame,上面一个是统计条件,下面准备用来显示统计结果(以PDF文件形式)。初始化时是上面提供条件,下面是一个只有“Result Location”字样的页面。
用户在上面的Frame中设置好条件后,点击一个超连接(长的像按钮,其实是一个图片加上超连接),然后我想在下方的Frame中先显示一个页面“Creating PDF file now。 Please wait ...”来提示用户,等到后台统计好并生成PDF文件后,再调用Acrobat Reader在下面的Frame中显示PDF文件。
目前,统计生成PDF,显示PDF文件都没有问题,但是就是不知道如何将下面Frame中的“Creating PDF file now, Please wait ...”的页面换掉,以便显示我的PDF文件。
说明一下,那个统计时间是不定的,也许1秒,也许40秒,视数据库中的数据多少而定。
我准备的解决之法:
准备在用户点击超连接事件中,开一个线程用来统计、生成文件,超连接指向那个“Creating PDF file now, please wait ...”页面。 这样用户一点击马上就可以看到下面的那个提示信息。
遇到的难题:
可是等文件生成好之后呢?如何换掉那个提示信息页面?想啊想啊,想了2天,试了好多次,都没有成功。唉,学艺不精,只好来麻烦各位。
具体要求及界面情况如下:
我的窗口有两个Frame,上面一个是统计条件,下面准备用来显示统计结果(以PDF文件形式)。初始化时是上面提供条件,下面是一个只有“Result Location”字样的页面。
用户在上面的Frame中设置好条件后,点击一个超连接(长的像按钮,其实是一个图片加上超连接),然后我想在下方的Frame中先显示一个页面“Creating PDF file now。 Please wait ...”来提示用户,等到后台统计好并生成PDF文件后,再调用Acrobat Reader在下面的Frame中显示PDF文件。
目前,统计生成PDF,显示PDF文件都没有问题,但是就是不知道如何将下面Frame中的“Creating PDF file now, Please wait ...”的页面换掉,以便显示我的PDF文件。
说明一下,那个统计时间是不定的,也许1秒,也许40秒,视数据库中的数据多少而定。
我准备的解决之法:
准备在用户点击超连接事件中,开一个线程用来统计、生成文件,超连接指向那个“Creating PDF file now, please wait ...”页面。 这样用户一点击马上就可以看到下面的那个提示信息。
遇到的难题:
可是等文件生成好之后呢?如何换掉那个提示信息页面?想啊想啊,想了2天,试了好多次,都没有成功。唉,学艺不精,只好来麻烦各位。
|
简单,在提示信息的页面里定义一个隐藏的帧,如下:
然后在提示信息页写入代码:
Creating PDF file now, please wait ...
在隐藏的帧里进行create pdf的处理
也就是运行makepdf.jsp的代码,这个处理页写入如下代码:
parent.makepdf.innerHTML=;
当然你不必担心在没有处理完pdf的时候运行这句script,因为服务器端代码总是在被运行之后才会转到客户端脚本并执行
---------------
ok???
然后在提示信息页写入代码:
Creating PDF file now, please wait ...
在隐藏的帧里进行create pdf的处理
也就是运行makepdf.jsp的代码,这个处理页写入如下代码:
parent.makepdf.innerHTML=;
当然你不必担心在没有处理完pdf的时候运行这句script,因为服务器端代码总是在被运行之后才会转到客户端脚本并执行
---------------
ok???