powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление станицы
5 сообщений из 5, страница 1 из 1
Обновление станицы
    #38244498
botasa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть страница с кодом и кусок сервлета ... у сервлета маппинг = index.jsp я это сделал, что бы сразу на главную мне страницу выводило информации о продукте а не жать на ссылки ... в коде в низу в самом сервлете
Код: java
1.
 if(action.equals("add")) System.out.println("add ?"); 

этот код постоянно вызывается, когда я нажимаю F5 или другим способом обновляю страницу, потом мне этот код плохо работает и кидает в корзину постоянно 1-й продукт, как это поправить ?
Код: 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.
<table border="1">
<tr>
	<td>ID</td>
	<td>Name</td>
	<td>Description</td>
	<td>Price</td>
	<td>Count</td>
</tr>	
	<c:forEach items="${list}" var="product">
		<tr>
			<td>${product.getId()}</td>
			<td>${product.getName()}</td>
			<td>${product.getDescription()}</td>
			<td>${product.getPrice()}</td>
			<td>${product.getCount()}</td>
			<form name="Form" action="index.jsp" method="POST">
			<td><input type="text" name="c1" size="1" value="0">
			<input type="hidden" name="action" value="add">
			<input type="hidden" name="id" value="${product.getId()}">
			<input type="hidden" name= "c2" value="${product.getCount()}" ></td>
 			<td><input type="submit" name="Submit" value="Add to Cart"></td>
 			</form>
		</tr>
	</c:forEach>
</table>



и кусок сервлета
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
protected void doGet(
			HttpServletRequest request, 
			HttpServletResponse response) 
					throws ServletException, IOException {

    	HttpSession session = request.getSession(true);
    	List buylist = (ArrayList<Product>)session.getAttribute("shopping");
    	String action = request.getParameter("action");
    	
    	if(action.equals("add")) System.out.println("add ?");
    	
    	List<Product> list = productDaoImpl.getAllProduct();
		request.setAttribute("list", list);
		
		session.setAttribute("shopping", buylist);
		
		request.getRequestDispatcher("products.jsp").forward(request, response);
		
	}
...
Рейтинг: 0 / 0
Обновление станицы
    #38244501
botasa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне надо, что бы это вызывалось только по нажатии по кнопке Add to cart
...
Рейтинг: 0 / 0
Обновление станицы
    #38244676
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
botasa111мне надо, что бы это вызывалось только по нажатии по кнопке Add to cart То, что для вас "нажатие кнопки", для браузера - отправка формы.
Обновление страницы - один из способов отправить форму.
Именно поэтому браузеры предупреждают, что "обновление страницы приведёт к повторению действия".
Хотите отличать форму с выбранным продуктом от пустой - сделайте так, чтобы по умолчанию выбиралось какое-нибудь специальное (пустое) значение, а не первый продукт списка.
...
Рейтинг: 0 / 0
Обновление станицы
    #38244757
botasa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как мне это сделать, что бы оно не отображалось на странице, если через hidden поле как я заметил, оно постоянно будет передаваться .... и еще 1 вопрос, как мне при первом вызове страницы загрузить контект, который вытягивается из БД в сервлет и на страницу ??? а то NullPointException уже в кошмарах снятся ...
...
Рейтинг: 0 / 0
Обновление станицы
    #38244776
ivanra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Просто это должен быть метод doPost, а не doGet
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Обновление станицы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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