如何从doPost()获取和使用jsp文件中的java对象?

Pav*_*vel 1 java jsp servlets

不要使用servlet进行.jsp连接.

我有doPostservlet:

@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);
}
Run Code Online (Sandbox Code Playgroud)

以及在网页上user.jsp使用User对象进行查看的文件:

<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>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.在用户的网页上,所有信息都是空的.所有块<ul>都不会查看.我只看href菜单.我不明白为什么.请告诉我有什么不对?为什么?多么正确呢?谢谢!

tso*_*akp 5

在Servlet中,您将User对象置于请求中,但在Jsp中,您正在从会话中查找它.

在JSP中尝试这个:

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