如何从Java Thread调用HTML / JSP代码

时间:2015-05-20 06:06:20

标签: java javascript jsp

在我的Web应用程序中,我有一个JSP页面,允许用户上传CSV文件 当用户提交此上传表单时,控件将转到Struts2操作, 从这个动作我开始一个新的Java线程来处理这个C​​SV的读取和处理 我不想阻止应用程序的视图,因为CSV可能非常大,因此线程处理CSV的上传和读取 并且操作返回到某个确认视图页面 现在我想在线程完成执行并完成文件上传时通知用户 一旦线程完成执行,我想在我的Web应用程序中弹出一个javascript警报 并附上消息“上传完成。点击此处查看”

我当前的方法(不好)是将会话对象传递给线程并在线程中设置完成标志。

动作

//----
new Thread(new UploadThread(session)).start();
//----

UploadThread.java

//----
try {
   //Reading and processing CSV
} catch() {
   //Exception handling
} finally {
   //Set flag in every case
   session.setAttribute("uploadFlag","true");
}
//----

与此同时,我从我的一个JSP中设置一个JS方法,每5秒执行一次。每5秒钟, 此方法检查会话中的“uploadFlag”,如果设置了其值,则会弹出javascript警报。

这是有效的,但会话对象不应该在Thread中。 有没有办法从Thread的finally块中实现这个警告。

我做了一些谷歌搜索,发现这些SO帖子 - Open local html page - javaGetting java gui to open a webpage in web browser

除此之外,我还尝试使用 java.net.URL + openConnection HttpClient
但是所有这些都在流中返回目标URL的输出。

请建议。

0 个答案:

没有答案