JSP: использовать информацию с одной страницы на другую

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

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

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

Благодарю.

2 ответа

Решение

Да, у вас есть лучшая идея, но вот быстрое решение, просто передавая вещи через 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 - намного лучший способ развития вещей.
декан

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

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

Другие вопросы по тегам