Как использовать session.setAttribute(id, id) при нажатии кнопки в сервлете Java?

Я хочу сохранить идентификатор в httpssession при нажатии кнопки, чтобы я мог использовать его в другом сервлете.

HttpSession session = request.getSession();
<button>
   <a href = "\"http://localhost:8080/WhatASap/createConversation\""
            + "style=\"text-decoration:none\""
            + "onclick=\"session.setAttribute(\"ID\","+ ID + ")\">
        Chat 
   </a>
</button>

Когда я нажимаю, идентификатор кнопки не устанавливается в httpssession.


person Anshu Ahirwar    schedule 22.08.2018    source источник
comment
Событие onclick происходит в браузере — объект HttpSession отсутствует. Передайте идентификатор сервлету, который обрабатывает URL-адрес href.   -  person Andrew S    schedule 22.08.2018


Ответы (1)


Вы не можете добавлять переменные в HttpSession из javascript. Вам придется сделать это в сервлете. Все, что вы пишете под onclick, будет выполнено движком javascript клиентского браузера, который ничего не знает о вашем сервере.


Как и в вашем случае, проанализируйте любые переменные в вашем сервлете createConversation.

<a href='http://localhost:8080/WhatASap/createConversation/?ID=<%= ID %>'>

Далее, в вашем сервлете;

HttpSession session = request.getSession();
session.setAttribute("ID", request.getParameter("ID"));
person Roshana Pitigala    schedule 22.08.2018