【问题标题】:how to send multiple values(attributes) from one servlet to another servlet or JSP in J2EE如何在 J2EE 中将多个值(属性)从一个 servlet 发送到另一个 servlet 或 JSP
【发布时间】:2017-09-16 20:22:15
【问题描述】:

我想将从数据库中检索到的多个数据值发送到另一个 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");
        }
    }

我想将 name 和 uname(username) 都发送到另一个名为“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 的名称、uname 发送到另一个。

【问题讨论】:

  • 你在什么服务器/版本上部署这个?

标签: servlets jakarta-ee server httpsession requestdispatcher


【解决方案1】:

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

假设您将您的姓名和 uname 存储为会话属性,如下所示

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

你可以在jsp中访问它们

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

例如,我提到了 p 标签,你可以在 jsp 中使用它们在任何你想要的地方使用 ${Attribute Name}

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    相关资源
    最近更新 更多