我在使用一项功能时遇到问题。我开发了类似div的消息传递应用程序的Web版本,其中包括历史记录(已发送消息)。这些消息来自数据库表Messages,我用JSTL显示了它们:
<c:choose>
<c:when test="${modeMessages == 'MODE_MESSAGES' }">
<c:forEach items="${messages}" var="message">
<div class="message_list" style="cursor:auto;">
<div class="chat_people">
<div class="chat_ib" style="padding: 0;">
<p style="color: black;">Za: ${message.contact.firstName } ${message.contact.lastName }<br>Poruka: ${message.message }<br>Poslato: ${message.time }</p>
</div>
</div>
</div>
</c:forEach>
</c:when>
</c:choose>
我唯一缺少的是该div的分页。由于该表可能有100多个行,因此我希望每页显示20条。我只想提一下,例如当您按第2页时,我需要刷新DIV。我知道可以使用PagingAndSortingRepository来完成,我在网上尝试了几种解决方案,但是没有一个起作用。由于我是Spring的新人,因此在了解该存储库的工作方式时遇到了麻烦。
在这里,我将提供有关服务,控制器和存储库的其他代码。
MessagesRepository.java
public interface MessagesRepository extends JpaRepository<Messages, Integer> {
public List<Messages> findAll();
}
MessagesService.java
public class MessagesService {
private final MessagesRepository messagesRepository;
public MessagesService(MessagesRepository messagesRepository) {
super();
this.messagesRepository = messagesRepository;
}
public Iterable<Messages> findAll() {
return messagesRepository.findAll();
}
}
MessageController.java(只是重要的一部分)
@GetMapping("/")
public String allContacts(HttpServletRequest request) {
request.setAttribute("contacts", contactsService.findAll());
request.setAttribute("modeContacts", "MODE_CONTACTS");
request.setAttribute("messages", messagesService.findAll());
request.setAttribute("modeMessages", "MODE_MESSAGES");
return "index";
}
在此先感谢大家的帮助。