Вопрос

Как передать параметр из useBean страницы в JSP в сервлет в Java?У меня есть некоторые данные в форме, которая без проблем передается с помощью кнопки отправки, но нет возможности отправить что-либо еще.Пожалуйста помоги?Вот мой код:

<input name = "deleteGameButton" type = "submit" value = "Delete"
 onclick = "submitToServlet('DeleteGameServlet');">

Вот соответствующий javascript:

 function submitToServlet(newAction)
 {
   document.userGameForm.action = newAction;
 }

Я бы хотел, чтобы сервлет имел доступ к userBean

 <jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />
Это было полезно?

Решение

Вы тут что-то путаете.

onclick() — это Javascript, который выполняется на стороне клиента.У него нет (прямого) способа обновления bean-компонента в области сеанса.Этот компонент остается на стороне сервера и использовался при создании HTML-страницы. созданный.Чтобы передать параметры обратно в сервлет, вам нужно использовать старые добрые поля формы и отправить форму.

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

В сервлете вызовите request.getParameter("name");

P.S.Чтобы автоматизировать такие вещи ИСПОЛЬЗУЙТЕ СТРОЙКИ.:-) Struts делает именно то, что вы хотите:перед передачей параметров действию он заполняет компонент этими параметрами.Прозрачно.

Другие советы

Это зависит именно от того, что вы пытаетесь сделать.А

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User" />

позволит вам использовать атрибут userBean сеанса в вашем jsp.Если в сеансе нет атрибута userBean, он создаст новый (используя конструктор по умолчанию для org.project.User) и поместит его в сеанс.

Затем, когда вы доберетесь до сервлета, вы можете получить его с помощью:

User user = (User)request.getSession().getAttribute("userBean");
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);

Здравствуйте, попробуйте следующий тег:

<jsp:useBean id = "userBean" scope = "session" class = "org.project.User"/>
 <jsp:setProperty name="beanName" property="propertyname" value="value"/>
</jsp:useBean>

подробнее здесь

Удачи!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top