servlet传递数据库的表到jsp页面

我要实现的是跳转到目标jsp页面时,能直接的显示出来表中的信息,所以在跳转到jsp页面之前,就要先访问servlet。所以在主页面的跳转链接处写的应该是servlet的URL,并不是jsp页面的路径。

主页面:

1 <dd><a href="/MainContent" target="List">列表二</a></dd>

servlet:

 1 @WebServlet("/MainContent")
 2 public class MainContentServlet extends HttpServlet {
 3 
 4     private UserService userService = new UserServiceImpl();
 5 
 6     @Override
 7    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
 8         List<User> UserList = new ArrayList<User>();
 9         try {
10             UserList = userService.showUserList();
11         } catch (SQLException e) {
12             e.printStackTrace();
13         }
14         request.setAttribute("UserList",UserList);
15         request.getRequestDispatcher("/page/MainContent.jsp").forward(request, response);
16       //  response.sendRedirect("/page/MainContent.jsp");
17    }
18 
19    @Override
20    public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
21        doGet(request,response);
22    }
23 }

在servlet中,将获取的存储的表的信息的链表通过request.setAttribute()存储进去。然后通过转发的方式到目标的jsp页面。

显示表数据的jsp页面:

 1 <body>
 2 用户信息表:
 3     <ul>
 4          <%
 5             List<User> userList = (List<User>) request.getAttribute("UserList");
 6             if(userList!=null) {
 7                 String userinfo = null;
 8                 for (User user : userList) {
 9                     userinfo = user.getID() + user.getUserName() + user.getPassWord() + user.getPerIn();
10                 %>
11                         <li>用户信息:<%=userinfo%></li>
12         <%
13             }
14         %>
15 
16         <%}else{
17                     String error = "the UserList is NULL";
18                     %>
19                     <%=error%>
20         <%
21                 }
22         %>
23     </ul>
24 </body>

通过request.getAttribute()方法取出链表,并对其进行遍历输出。

 

posted @ 2019-10-12 10:22  漂白与湮灭  阅读(1879)  评论(0编辑  收藏  举报