3 回答

TA貢獻1995條經驗 獲得超2個贊
對的,這是可能的。但首先你必須創建一個PagingAndSortingRepository<T, I>存儲庫和控制器的接口,在你的情況下我沒有看到一個,你必須添加頁面、大小、元素、stc 的屬性,這些屬性由返回的PagingAndSortingRepository<T, I>所以你的 jsp 頁面將了解頁面等屬性,您可以使用它${page}來顯示頁碼。我指的是這個存儲庫。
員工存儲庫:
public interface EmployeeRepository extends PagingAndSortingRepository<Employee, Integer> {}
有PagingAndSortingRepository<T, I>一個findAll(page)根據頁面數據傳遞對象的方法。
員工道:
@Service
public class EmpDao {
@Autowired
private EmpRepository repo;
public Page<Emp> getPage(Pageable pageable){
return repo.findAll(pageable);
}
如果您想要根據頁面顯示對象,那么您必須使用Page<T>接口,因為頁面是對象列表的子列表。它允許獲取有關它在包含的整個列表中的位置的信息。
@Controller
public class EmpController {
@Autowired
private EmpDao dao;
@RequestMapping("/viewemp")
public String viewemp(Model m, Pageable pageable){
Page<Emp> pages=dao.getPage(pageable);
m.addAttribute("number", pages.getNumber());
m.addAttribute("totalPages", pages.getTotalPages());
m.addAttribute("totalElements", pages.getTotalElements());
m.addAttribute("size", pages.getSize());
m.addAttribute("data",pages.getContent());
return "viewemp";
}
}
是Pageable
分頁信息的抽象接口
getNumber()
- 返回當前切片的編號。始終為非負數。getTotalPages()
- 返回總頁數。getTotalElements()
- 返回元素的總數。getSize()
- 返回切片的大小。getContent()
- 以列表形式返回頁面內容。
Jsp頁面假設你已經存儲了數據:
只需將其寫在您的表體中即可<tbody>
<tbody id="myTable">
<c:choose>
<c:when test="${data.size() > 0 }">
<c:forEach var="emp" items="${data}">
<tr align="center">
<td>${emp.id}</td>
<td>${emp.name}</td>
<td>${emp.designation}</td>
<td><a href="editemp/${emp.id}" class="btn btn-outline-info">Edit</a></td>
<td><a href="deleteemp/${emp.id}" class="btn btn-outline-danger">Delete</a></td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr align="center">
<td colspan="5">No Users available</td>
</tr>
</c:otherwise>
</c:choose>
<c:if test="${data.size() > 0 }">
<div class="panel-footer">
Showing ${number+1} of ${size+1} of ${totalElements}
<ul class="pagination">
<c:forEach begin="0" end="${totalPages-1}" var="page">
<li class="page-item">
<a href="viewemp?page=${page}&size=${size}" class="page-link">${page+1}</a>
</li>
</c:forEach>
</ul>
</div>
</c:if>
</tbody>
你就可以走了..
希望能幫助到你..

TA貢獻1813條經驗 獲得超2個贊
通過這個例子可以確定一些方法。
public class StudentRepository {
@PersistenceContext
private EntityManager entityManager;
public List<StudentEntity> listAll() {
Query query = entityManager.createQuery("from StudentEntity");
return query.getResultList();
}
}

TA貢獻1858條經驗 獲得超8個贊
試試這個:使用 PagingAndSortingRepository 擴展您的 EmployeeRepository。然后更改 findall() 方法類型 PageRequest findAll(PageRequest pagerequest)。
public interface EmployeeRepository extends PagingAndSortingRepository<Emp, Integer> {
PageRequest<Emp> findAll(PageRequest pagerequest)
}
添加回答
舉報