Pavel
Pavel

Reputation: 2101

How get and use java object in jsp file from doPost()?

Don't work servlet to .jsp connection.

I have doPost in servlet:

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    req.setCharacterEncoding("UTF8");

    getUser(req, resp);

}

private void getUser(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    req.getParameter("id");

    //In future implements database worker this for check
    User user = new User(1, "test", "test", "test", new Timestamp(System.currentTimeMillis()));

    req.setAttribute("user", user);
    req.getRequestDispatcher("user.jsp").forward(req, resp);
}

And user.jsp file which use User object for view on web page:

<h1>User view</h1><br />

    <ul>

        <% User user = (User) request.getSession().getAttribute("user"); %>


        <li>Id: <% user.getId(); %></li>

        <li>Name: <% user.getName(); %></li>

        <li>Login: <% user.getLogin(); %></li>

        <li>Email: <% user.getEmail(); %></li>

        <li>Create date: <% user.getCreateAccount(); %></li>

    </ul><br />

    <a href="index.jsp">menu</a>

But it's don't work. On user's web-page all information is empty. All block <ul> don't view. I see only href to menu. And i don't understand why. Please tell me what wrong? Why? How correct it? Thank You!

Upvotes: 1

Views: 602

Answers (2)

Depp
Depp

Reputation: 36

I think that your jsp have some syntax error. e.g:<% user.getId(); %>. the proper syntax : <%=user.getId()%>. You can try it:

<% User user = (User) request.getSession().getAttribute("user"); %>
<ul> 
    <li>Id: <%=user.getId()%></li>

    <li>Name: <%=user.getName()%></li>

    <li>Login: <%=user.getLogin()%></li>

    <li>Email: <%=user.getEmail()%></li>

    <li>Create date: <%=user.getCreateAccount()%></li>

</ul><br/>

<a href="index.jsp">menu</a>

Upvotes: 2

tsolakp
tsolakp

Reputation: 5948

In Servlet you are putting User object into request but in Jsp you are looking it up from session.

Try this in your JSP:

User user = (User) request.getAttribute("user");

Upvotes: 5

Related Questions