How to pass Spring boot Model from one jsp page to another?

98 views Asked by At

I am having two JSP pages named UserView.jsp and list-users.jsp.

I want list-users.jsp on the dashboard component of UserView.jsp upon clicking a button view-users.

Since the get request is from UserView.jsp the model generated is not accessible in list-users.jsp. How can I access the model in list-user.jsp?

Below are the relevant scripts for more clarity.

Script tag from UserView.jsp:-

  <script>
    $(document).ready(function(){
        $("#view-users").click(function(){
            $.get("allUsers");
            $('#dashboard').load('list-users.jsp');
        });
    });
  </script>

Controller for /allUsers:-

@GetMapping("/allUsers")
    public void allUsers(Model model) {
        List<User> users = userService.allUsers();
        model.addAttribute("users",users );

list-users.jsp:-

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@ page import="com.training.transportcomany2.model.User"%>
<%@ page import="java.util.*"%>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-gH2yIJqKdNHPEq0n4Mqa/HGKIhSkIHeL5AyhkYV8i59U5AR6csBvApHHNl/vI1Bx" crossorigin="anonymous">
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-A3rJD856KowSb7dwlZdYEkO39Gagi7vIsF0jrRAoQmDKKtQBHUuLZ9AsSv4jD4Xa" crossorigin="anonymous"></script>
</head>
<body>
<%
    //UserBean user = new UserBean();
    
    //List<User> userList = (List<User>)request.getAttribute("users");
    //out.println(request.getAttribute("users"));
    
    //Iterator<UserBean> itr = userList.iterator();
%>
<table class="table">
    <thead>
    <tr>
        <th scope="col">Id</th>
        <th scope="col">First Name</th>
        <th scope="col">Last Name</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <%
            for (User user : userList) {
        %>
        <td><%=user.getId()%></td>
        <td><%=user.getFirstName()%></td>
        <td><%=user.getLastName()%></td>

    </tr>
    </tbody>
</table>
</body>
</html>
0

There are 0 answers