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>