我可以使用一些帮助如何从mysql数据库中获取值,并将其解析为servlet,这将打开一个jsp文件“Showlist.jsp”并将所有值作为参数。
我的数据库中的表格包含:
ID, Name, Initials, cpr, password, role.
我在系统中创建了3个用户,我希望在jsp文件中显示所有用户。
现在我有3层,其中包含以下类:
查看图层 - html / jsp文件
功能层 - 班级职能
数据层 - 类DAOoperator(包含mysql语句。 - 类DTOoperator(这是我的getter和setter方法的对象) - 类DataAccess(包含与mysql数据库的连接)
所有这些都由名为Controller的servlet控制。
有一种简单的方法吗?
答案 0 :(得分:1)
从不在21世纪使用 Scriplet 而不是JavaServer Pages Standard Tag Library
有关Oracle Tutorial - Using JSTL
的更多信息逻辑:只需从Servlet中的数据库中获取数据,然后在POJO类中填充数据,并将所有用户的最终列表设置为请求属性,最后将请求转发到JSP页面
示例代码:
User.java
public class User{
private String ID, Name, Initials, cpr, password, role;
// getter and setter
}
的Servlet
List<User> list = new ArrayList<User>();
//fetch the record form database
// populate the record in User POJO class
// add the users in the list
// finally set the list as request attribute
request.setAttribute("users",list);
// forward the request to the JSP
request.getRequestDispatcher("/xyz.jsp").forward(request,response);
xyz.jsp:
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<table border="1">
<c:forEach items="${ requestScope.users}" var="user">
<tr>
<td><c:out value="${user.ID }" /></td>
<td><c:out value="${user.Initials }" /></td>
<td><c:out value="${user.cpr }" /></td>
<td><c:out value="${user.role }" /></td>
</tr>
</c:forEach>
</table>
答案 1 :(得分:0)
在servlet中,您访问DAO并调用getUser()方法,该方法返回用户列表。然后将结果设置为请求。
request.setAttribute("users", userList);
在jsp中你可以通过:
获得它 <% List<User> userList = (List<User>)request.getAttribute("users"); %>
更好的方法是在jsp中使用jstl而不是普通的java代码。