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



我想发送从数据库检索到另一个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);

即使我给予目标="/web-inf/pages/dash.jsp"。然后,它也不会到Dash.jsp页。

任何人都可以告诉我如何在此情况名称中发送多个值或数据,UNAME从一个Servlet或JSP发送到另一个Servlet或JSP。

当您将任何内容作为请求属性或会话属性存储时,您可以使用Expression语言访问JSP。

假设您将自己的姓名存储为

的session属性
ss.setAttribute("name",rs.getString("name"));
ss.setAttribute("uname",rs.getString("uname"));

您可以在JSP中访问它们

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

我提到了p标签,例如,您可以在想要使用 $ {attribute name}

的任何地方使用它们。

希望这会有所帮助,如果您需要其他任何东西,请发布。

相关内容

  • 没有找到相关文章

最新更新