JSP: использовать информацию с одной страницы на другую - PullRequest
1 голос
/ 02 мая 2010

В настоящее время у меня есть страница JSP с формой, чтобы пользователь мог ввести свое имя, но я хочу, чтобы пользователь перенаправлял пользователя на другую страницу JSP после отправки формы и продолжал использовать свое имя.

Я не хочу использовать JSTL EL, просто используйте JSP.

Я думал об использовании bean-компонента, хранящего детали в сеансе, но как он будет работать.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 02 мая 2010

JSP должен ввести информацию в форму и отправить ее сервлету. Сервлет проверит входные данные формы, создаст экземпляр компонента, добавит его в сеанс и перенаправит ответ на второй JSP для отображения.

Вам нужен промежуточный сервлет. JSP, использующие JSTL, предназначены для отображения; использование сервлета таким способом называется MVC 2. Другой способ думать об этом - это шаблон фронт-контроллера, где один сервлет обрабатывает все сопоставленные запросы и просто направляет их контроллерам / обработчикам.

1 голос
/ 02 мая 2010

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

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Simple jsp page</title></head>
<body><form name="test" action="./stackTest2.jsp" method="POST">
 Text Field<input type="text" name="textField">
  <input type="submit"> 
</form> </body>
</html>

и вторая страница выглядит так:

<html>
<head><title>Simple jsp page</title></head>
<body><%=request.getParameter("textField")%></body>
</html>

И затем поместив информацию в скрытое поле, вы можете получить информацию, используя метод request.getParameter. Это просто распечатывает то, что было в форме, но использует ту же идею для ввода ее в скрытое поле в форме. Я рекомендую это, поскольку весь мой опыт с сессиями закончился неудачей. Я СИЛЬНО НЕ РЕКОМЕНДУЮ этот метод, MVC - намного лучший способ развития вещей.
Декан

...