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