Невозможно установить значение на странице JSP, полученной из сервлета - PullRequest
1 голос
/ 28 апреля 2019

Я работаю над одним простым приложением JSP-Servlet-Hibernate. Я успешно получил данные, используя Hibernate.Я столкнулся с проблемой при настройке того же значения (полученного из сервлета) на странице jsp.

Я пробовал использовать язык выражений.но это не работает.Я не знаю, почему он не работает.

Код сервлета ::

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        User user=new User();
        user.setUserId(Integer.parseInt(request.getParameter("Id")));
        user.setUserName(request.getParameter("name"));
        user.setUserEmail(request.getParameter("email"));
        user.setUserPhone(request.getParameter("number"));
        HibernateTest ht=new HibernateTest();
        User user2= ht.saveDetails(user);
        //fileRead();
        RequestDispatcher rd=request.getRequestDispatcher("index.jsp");
        rd.include(request, response);
        request.setAttribute("user", user2);
        System.out.println(user2.getUserId());
        response.setContentType("text/html");
        PrintWriter pw=response.getWriter();
        pw.println("Saved successful and retrieve successful..............."+ ((User)request.getAttribute("user")).getUserId());
    }

jsp страница ::

<form action="FirstServlet" method="post">
<table border="1">
<tr>
<td>User Id:</td>
<td><input type="text" name="Id" value="${reqestScope.user.userId}"/></td><!-- it remains blank at retrieval time -->
</tr>
<tr>
<td>User Name:</td>
<td><input type="text" name="name" value="${reqestScope.user.userName}" /></td><!-- it remains blank at retrieval time -->
</tr>
<tr>
<td>User Email:</td>
<td><input type="text" name="email" value="${reqestScope.user.userEmail}"/></td><!-- it remains blank at retrieval time -->
</tr>
<tr>
<td>Phone Number:</td>
<td><input type="text" name="number" value="${reqestScope.user.userPhone}"/></td><!-- it remains blank at retrieval time -->
</tr>
<tr><td colspan="2"><input type="submit" value="Submit"/></tr>
</table>
</form>
<% 
if(((User)request.getAttribute("user"))!=null)
    System.out.println(((User)request.getAttribute("user")).getUserId()); %><!-- it prints the correct result.. -->

Значения, полученные из класса сервлета, должны отображаться правильнона странице JSP.но на самом деле, он остается пустым во время поиска.

1 Ответ

0 голосов
/ 28 апреля 2019

вы должны попытаться исправить правильно requestScope (вы написали reqest), и если это не сработает, вы попробуете это с использованием JSTL, поэтому вместо:

<input type="text" name="Id" value="${requestScope.user.userId}"/>

Вы должны попробовать:

<input type="text" name="Id" value="<c:out value="${requestScope.user.userId}"/>" >
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...