Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP обработка нажатия кнопки / 8 сообщений из 8, страница 1 из 1
07.09.2015, 14:15
    #39044952
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
Добрый день, коллеги!
Есть страничка jsp
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<%@ page import="java.util.*" %>
<%@ page import="org.apache.commons.httpclient.HttpState" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd"> 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Query</title>
</head>
<body>
<H3>Welcome </H3>


<form id="form1" method="POST" action="QueryItem.jsp?uid=<%="uid"%>">
<input type="SUBMIT" name="Query Items" value="Query Items"/>
</form>

</body>
</html>


По нажатию на кнопку, происходит редирект на QueryItem.jsp.
Каким образом можно сделать, чтобы по нажатию на кнопку, появлялась анимация, показывающая часы (на QueryItem.jsp происходит доооолгая обработка данных) а только после того, как QueryItem.jsp отрисовался, показывать QueryItem.jsp??
Сейчас получается так, что нажимая кнопку, первоначальная jsp висит, и есть возможность еще раз нажать кнопку (на первой странице) и так до бесконечности. Необходимо кнопку тоже залочить.
...
Рейтинг: 0 / 0
07.09.2015, 14:21
    #39044961
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
ditban,

Желательно изучить JavaScript и AJAX. На JSP такое делается, но кривее.
Вместо QueryItem.jsp нужно отправить пользователя на страницу, которая поставит запрос в очередь и зередиректит пользователя на страницу с индикатором прогресса. Если совсем без JavaScript, то пользователю даём кнопку "проверить статус". Когда нажимает, проверяем статус долгой фоновой задачи. Если не готово - отправляем на индикатор. Если готово - на результат.

Простейшим JavaScript можно просто каждые N секунд перегружать страницу и проверять статус.
Сложным JavaScript можно всё что угодно вплоть до точного индикатора прогресса.

У вас у формы метод POST, а у action ещё зачем-то GET параметр. Он разве работает? Сервер такое не должен распознавать.
...
Рейтинг: 0 / 0
07.09.2015, 14:42
    #39044983
xifr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
ditban,

Как вариант
jquery block
...
Рейтинг: 0 / 0
07.09.2015, 14:46
    #39044986
xifr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
xifrditban,

Как вариант
jquery block

его можно использовать не только для AJAX, но и для обычных POST/GET
...
Рейтинг: 0 / 0
07.09.2015, 15:31
    #39045034
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
xifr,
)) прикольно.
...
Рейтинг: 0 / 0
07.09.2015, 15:48
    #39045061
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
Добавила обработку нажатия кнопки:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<script language="javascript">
fun()
{
alert("entered");
}
</script>

<title>Query</title>
</head>
<body>
<H3>Welcome </H3>


<form id="form1">
<button onclick="fun();"> print OK</button>
</form>

</body>
</html>

Но сообщения не выводятся(
что не так?
...
Рейтинг: 0 / 0
07.09.2015, 16:12
    #39045104
ditban
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
Сделала так:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">

<script language="javascript">
function fun()
{
alert("entered");
window.document.getElementById("okButton").disabled = true;
//window.location.replace("QueryItem.jsp");
window.location.href = "QueryItem.jsp";
//alert("entered 2");
}

</script>

<title>Query</title>
</head>
<body>
<H3>Welcome </H3>

<form id="form1">
<button onclick="fun();" id="okButton"> print OK</button>
</form>

</body>
</html>


Теперь выводится сообщение "entered", по консоли я вижу, что выполняются все расчеты из QueryItem.jsp, но в конце страница QueryItem.jsp так и не отрысовывается, локейшн так и остается на текущей странице..
И еще "okButton" становится неактивной только на момент времени, далее опять становится активной..
...
Рейтинг: 0 / 0
07.09.2015, 16:40
    #39045147
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
JSP обработка нажатия кнопки
ditbanТеперь выводится сообщение "entered"
console.info("entered"); - удобнее
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / JSP обработка нажатия кнопки / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]