我试图在另一个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
。问题在哪里?
答案 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")
因此请保持相同的范围(session
或request
}。
此外,您应该避免在JSP中使用scriplet,因为不推荐使用。