Reputation: 13
I want to pass result set from Servlet to JSP page and have its value there in my JSP page.
Here is the code of the 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);
}
}
The two function called here returns boolean
value and ResultSet
values respectively
Select function returns boolean
value where as SelectAll returns ResultSet
.
My JSP code looks like this:
<%@ 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/>
Upvotes: 1
Views: 5158
Reputation: 14806
Do not pass ResultSet
! Instead, follow DAO pattern and create Java POJO class with fields that will reflect columns in your database. Extract data from ResultSet
via while
loop (while(rs.next()) {...}
), assign values to your previously created instance of POJO class and add that instance to List
(in case you want to pass multiple users). Return list (in case of multiple users) or just an instance (in case of single user).
Set list of objects as an attribute and iterate over it via JSTL
forEach
loop in your JSP
(in case of multiple users).
Upvotes: 2
Reputation: 1
To proceed with the resultset initialize the object User
, that should have getters and setters
ResultSet rset=select.SelectAll(username,password);
if (rset.next()){
User user = new User();
user.setUsername(rset.get("username"));
user.setEmail(rset.get("email"));
user.setContact(rset.get("contact"));
request.setAttribute("user",user);
getServletContext().getRequestDispatcher("/dashboard.jsp")
.forward(request,response);
}
Upvotes: 2