Как передать параметр в сервлет - PullRequest
1 голос
/ 24 октября 2008

Как передать параметр из 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" />

Ответы [ 4 ]

4 голосов
/ 24 октября 2008

Вы тут все напутали.

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

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

В сервлете вызовите request.getParameter («имя»);

P.S. Для автоматизации такого рода вещей ИСПОЛЬЗУЙТЕ STRUTS . :-) Struts делает именно то, что вы хотите: перед передачей параметров в действие он заполняет bean-компонент этими параметрами. Прозрачное.

2 голосов
/ 24 октября 2008

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

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

Тег

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

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

User user = (User)request.getSession().getAttribute("userBean");
1 голос
/ 17 марта 2011
 getServletConfig().getServletContext().getRequestDispatcher("servlet path & name");         
 dispatcher.forward (request, response);
0 голосов
/ 24 октября 2008

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

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

больше здесь

Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...