Проблема с передачей параметров JSP - PullRequest
0 голосов
/ 03 января 2012

Мой поток страниц похож на

Jsp1 -> Jsp2 -> ... -> Servlet -> JspN -> ... 

, где Jsp1 - это страница входа в систему, где пользователь должен указать пароль и имя пользователя.Теперь я хочу использовать имя пользователя и пароль на странице сервлета.Можно ли получить это значение в сервлете без передачи параметров из Jsp1 в Jsp2 .... в сервлет?

Ответы [ 2 ]

1 голос
/ 03 января 2012

Вы можете установить их в сеансе на этапе Jsp2. Получить параметры из запроса и установить их в сеансе так:

<%
    session.setAttribute("username", request.getParameter("username"));
    session.setAttribute("password", request.getParameter("password"));
%>

Для этого в вашем Jsp1 должны быть поля, определенные с теми же именами, что и параметры запроса.

<input type="text" name="username"/>
<input type="password" name="password"/>

Тогда в Servlet вы можете просто прочитать их так:

public void doGet(HttpServletRequest request, HttpServletResponse response) {
    HttpSession session = request.getSession();

    String username = session.getAttribute("username");
    String password = session.getAttribute("password");
}
0 голосов
/ 03 января 2012

Да, это хороший подход, в идеале, хотя я не вижу никакой причины, почему вы не можете использовать сервлет между jsp 1 и jsp 2.?Таким образом, вы можете сохранить значения в запросе, а затем использовать их во втором jsp.

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