如何从J2EE中的一个servlet向另一个servlet或JSP发送多个值(属性)

时间:2017-04-20 09:25:28

标签: servlets java-ee server httpsession requestdispatcher

我想将从数据库检索到的多个数据值发送到另一个servlet或jsp。

这是我的代码

PreparedStatement st= conn.prepareStatement("select name from users where uname=? and pword=?");

    st.setString(1, uname);
    st.setString(2, pword);

    ResultSet rs= st.executeQuery();

    if(rs.next())
    {
        if(uname.equals(uname) && pword.equals(pword))
        {
            request.setAttribute("name", rs.getString("name"));
            request.setAttribute("uname", uname);

            HttpSession ss= request.getSession();
            ss.setAttribute("name",rs.getString("name"));
            ss.setAttribute("uname",rs.getString("uname"));
            response.sendRedirect("Dash.jsp");
        }
    }

我想将名称和uname(用户名)发送到另一个名为“Dash.jsp”的jsp文件。但它没有用。如果我评论以下任何一个代码:

ss.setAttribute("name",rs.getString("name"));
ss.setAttribute("uname",uname));

然后servlet将数据传递给Dash.jsp

我还尝试通过应用以下代码来使用RequestDispatcher:

request.setAttribute("name", rs.getString("name");
request.setAttribute("uname",uname);
String destination = "Dash.jsp";
RequestDispatcher rd = 
getServletContext().getRequestDispatcher(destination);
rd.forward(request, response);

即使我给了destination =“/ WEB-INF / pages / Dash.jsp”。然后它也不会去Dash.jsp页面。

任何人都可以告诉我如何在这个案例名称中发送多个值或数据,从一个servlet或jsp到另一个servlet或者unp。

1 个答案:

答案 0 :(得分:0)

当您将任何内容存储为请求属性或会话属性时,您可以使用表达式语言在jsp中访问它们。

假设您存储了您的姓名并将其命名为会话属性,如下所示

ss.setAttribute("name",rs.getString("name"));
ss.setAttribute("uname",rs.getString("uname"));

你可以在jsp中访问它们

<p>${name}</p>
<p>${uname}</p>

我提到了p标签,例如,您可以使用 $ {Attribute Name}

在jsp中的任何地方使用它们

希望这有帮助, 如果您还有其他需要,请发布。