【发布时间】:2026-01-25 04:10:02
【问题描述】:
我想将结果集从 Servlet 传递到 JSP 页面,并在我的 JSP 页面中有它的值。
这是 Servlet 的代码:
protected void doPost (HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
String username = request.getParameter("username");
String password = request.getParameter("password");
PrintWriter out = response.getWriter();
Data select = new Data(username,password);
try {
Boolean result = select.Select(username, password);
if (result) {
ResultSet rset=select.SelectAll(username,password);
request.setAttribute("user",rset);
getServletConfig().getServletContext()
.getRequestDispatcher("/dashboard.jsp")
.forward(request,response);
} else
out.print("Please check your username and password");
} catch (Exception e) {
out.print("There seems to be a exception" + e);
}
}
这里调用的两个函数分别返回boolean值和ResultSet值
Select 函数返回 boolean 值,而 SelectAll 返回 ResultSet。
我的 JSP 代码如下所示:
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Username: <c:out value="$(user.username)"/> <br/>
Email: <c:out value="$(user.email)"/> <br/>
Contact: <c:out value="$(user.contact)"/> <br/>
【问题讨论】:
-
那么您面临什么错误或异常?
-
您确定 ResultSet 类包含用户名属性吗?!!
-
我不会将结果集直接传递给 JSP,而是从结果集中提取信息并将其公开在适当的 DTO 中。
-
Dave 是对的,使用这样的结果集不是一个好主意,请参阅*.com/q/20497778/217324
标签: java jsp servlets el resultset