嗨,我正在尝试使用TimerTask
访问数组列表。我想在不同的2个子列表中获取数组列表值,然后想要在5秒的时间间隔内打印jsp页面上的所有列表
这是我的代码:
ScheduledTask
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>
如何实现所需的输出。
提前致谢
答案 0 :(得分:1)
猜猜你希望用户每5个secons看到新内容吗?您无法在JSP中执行此操作,因为JSP正在生成发送到浏览器的html页面。它没有在浏览器中执行。
你可以