gpt4 book ai didi

java - 如何在Jsp页面中使用TimerTask?

转载 作者:行者123 更新时间:2023-12-01 13:03:27 26 4
gpt4 key购买 nike

嗨,我正在尝试使用 TimerTask 访问数组列表。我想获取不同的 2 个子列表中的数组列表值,然后想在 5 秒时间间隔之间打印 jsp 页面上的所有列表

这是我的代码:

计划任务

import java.util.TimerTask;
import java.util.Date;
public class ScheduledTask extends TimerTask {
public void run() {

}
}

My.jsp

 <%@ page import="Demo.ScheduledTask"%>
<html>
<head>

<title>JSP Page</title>
</head>
<body>
<jsp:useBean id="test" class="Demo.ScheduledTask" />
<%

Timer time = new Timer(); // Instantiate Timer Object
ScheduledTask st = new ScheduledTask(); // Instantiate SheduledTask class
time.schedule(st, 0, 1000);
for (int i = 0; i <3; i++) {
URL url;
try {
// get URL content

String a = "http://122.160.81.37:8080/mandic/commoditywise?c=paddy";
url = new URL(a);
URLConnection conn = url.openConnection();

// open the stream and put it into BufferedReader
BufferedReader br = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
StringBuffer sb = new StringBuffer();
String inputLine;
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
List sublist1=null;
List sublist2=null;
List sublist3=null;
while ((inputLine = br.readLine()) != null) {

String s = inputLine.replace("|", "\n");

s = s.replace("~", " ");
//System.out.println(s);
StringTokenizer str = new StringTokenizer(s);
while (str.hasMoreTokens()) {
String mandi = str.nextElement().toString();
String price = str.nextElement().toString();
list1.add(mandi);
list2.add(price);

}
} sublist1=list1.subList(0, 15);
sublist2=list1.subList(16,30);
sublist3=list1.subList(31,45);
String item1 = null;
for (int l = 0; l < sublist1.size(); l++)

{
out.println("List1"+sublist1.get(l));
}
Thread.sleep(5000);
for(int j=0;j<sublist2.size();j++)
{
out.println("List2"+sublist2.get(j));

}
Thread.sleep(5000);
for(int k=0;k<sublist2.size();k++){
out.println("List3"+sublist3.get(k));
}
Thread.sleep(5000);
if (i == 2)
{
out.println("Application Terminates");
System.exit(0);
}

br.close();


} catch (MalformedURLException e) {
e.printStackTrace();
}


}
%>

</body>
</html>

如何实现我想要的输出。

提前致谢

最佳答案

我猜您希望用户每 5 秒看到一次新内容,对吧?您无法在 JSP 中执行此操作,因为 JSP 正在生成发送到浏览器的 html 页面。它不在浏览器中执行。

你可以

  • 用 JavaScript 重写您的定时操作。这将在浏览器中执行。
  • 在 JavaScript 中设置 ajax 回调,该回调会定期调用以执行计时器任务中的内容,并将结果发送到浏览器以更新 UI。

关于java - 如何在Jsp页面中使用TimerTask?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23380047/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com