У меня есть 2 разных типа потока для строки состояния поверх моего веб-сайта. Мне нужно передать значение этому классу состояния, чтобы он знал, какой поток следует отслеживать в зависимости от выбора пользователя на главной странице. Если ID = 1, а затем следуйте 1 стилю потока, а если ID = 2, то следуйте другому стилю потока. А также, если ID = 1 и step = 2, чем я должен diplay один стиль потока со вторым шагом в строке состояния. Я застрял, как я могу заставить этот поток перемещаться с одной страницы на другую, когда пользователь делает с 1 страницей и переходит к другому. Как я могу отслеживать это и отображать правильную строку состояния в верхней части страницы. Как я могу получить этот статус и шаг в потоке, чтобы отобразить его прямо на этой конкретной странице. Я сделал это до сих пор. Мне нужно, чтобы какой-либо держатель содержимого jsp на странице jsp отображал, что когда-либо получаю возврат от этого URL-соединения, и мне нужно передать идентификатор этому классу, чтобы увидеть, какой поток мне нужно выполнить. Любая помощь будет большой ..Строка состояния в Java
public class StatusBar
{
private static final String STATUS_URL = 'http://10.1.2.3:8080/status';
private final String buffer;
public String toString(){ return buffer; }
private final String id;
private final String step;
private ProgressBar(Create create)
{
id = Create.pbid;
step = Create.step;
String response = "";
Map<String, String> m = new HashMap<String, String>();
m.put("id", id);
m.put("step", step);
String query = buildQuery(m);
URL url = new URL(STATUS_URL);
URLConnection uc = url.openConnection();
uc.setDoOutput(true);
uc.setAllowUserInteraction(false);
uc.setConnectTimeout(5000);
uc.setReadTimeout(5000);
PrintStream ps = new PrintStream(uc.getOutputStream());
ps.print(query);
ps.close();
BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8"));
StringCreate sb = new StringCreate();
String line;
while((line = br.readLine()) != null)
{
sb.append(line);
sb.append("\n");
}
br.close();
response = sb.toString();
buffer = "";
}
private static final String buildQuery(Map<String, String> args) throws UnsupportedEncodingException
{
StringCreate sb = new StringCreate();
for(Map.Entry<String, String> entry : args.entrySet())
{
sb.append(URLEncoder.encode(entry.getKey(), "UTF-8"));
sb.append('=');
sb.append(URLEncoder.encode(entry.getValue(), "UTF-8"));
sb.append('&');
}
return sb.toString().substring(0, sb.length() - 1);
}
public static class Create
{
private String id;
private String step;
public Create(){}
public Create id(String val)
{
id = val;
return this;
}
public Create step(int val)
{
step = String.valueOf(val);
return this;
}
public StatusBar build()
{
return new StatusBar(this);
}
}
}