在另一个jsp文件中使用ResultSet值

时间:2013-03-23 13:36:40

标签: mysql jsp session resultset

我试图在另一个jsp文件中使用结果集值,但我在网站上获得了null

<%
    try {
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database", "root", "root");
        Statement st = con.createStatement();
        ResultSet rs = st.executeQuery("select * from users");
        String var = null;
        while (rs.next()) {
            var = rs.getString(2);
        }
       session.setAttribute("var1", var);
        response.sendRedirect("Select.jsp");

    } catch (Exception e) {
    }
%>

Select.jsp:

<% out.println(request.getParameter("var1")); %>

selct1.jsp显示null。问题在哪里?

2 个答案:

答案 0 :(得分:2)

您使用setAttribute参与了参数,但是您尝试使用getParameter

进行抓取

使用getAttributes方法获取结果: -

<% out.println((String)request.getAttribute("var1")); %>

<% out.println(session.getAttribute("var1")); %>

答案 1 :(得分:1)

我认为问题在于您要在session范围中设置值:

session.setAttribute("var1", var);

但是你试图从request范围获取它:

request.getParameter("var1")

因此请保持相同的范围(sessionrequest}。

此外,您应该避免在JSP中使用scriplet,因为不推荐使用。