/ / Paging dans les struts 2 - java, hibernate, struts2

Paging dans struts 2 - java, hibernate, struts2

J'ai besoin d'implémenter une solution de paging en utilisant Struts2 pour l'affichage côté client et hiberner en tant que couche de persistance. Étant donné que ma base de données contient de nombreux enregistrements, je n'ai besoin de charger qu'un nombre spécifique d'enregistrements à un moment donné (6 enregistrements par page) et d'afficher les numéros de pagination des utilisateurs dans le tableau des résultats. Lorsque l'utilisateur clique sur un numéro spécifique, je dois extraire les données de la base de données et les mettre à jour dans l'interface utilisateur de struts. Je peux voir beaucoup d'exemples où il faut toute la liste de données pour créer l'interface utilisateur d'affichage. Y a-t-il un moyen de mettre en œuvre mes exigences avec cette approche? Sinon, quelqu'un peut-il me donner un exemple de mise en œuvre?

Réponses:

2 pour la réponse № 1

Le problème peut être résolu en ajoutant les attributs suivants à la table displaytag. partialList="true" size="resultSize". Ici résultat est la variable où vous affectez le nombre total de lignes du résultat dans la classe d'action. Plus d'informations peuvent être trouvées ici


1 pour la réponse № 2

Si vous voulez chercher seulement 6 résultats à la fois, utilisez:

Query query = session.createQuery("from EntityName");
query.setMaxResults(6);

En outre, pour l'interface utilisateur, vous pouvez utiliser displaytag. Il a une fonction de pagination intégrée. En outre, il ne récupérera que 6 résultats à la fois si vous définissez pagesize = "6" et définissez partialList = "true". J'imagine qu'il n'est pas nécessaire d'utiliser également la méthode setMaxResults ().

J'espère que cela aide :)


0 pour la réponse № 3

Avec Hibernate, vous pouvez spécifier quelque chose comme

if (offset >= 0)
{
query.setFirstResult(offset);
}
if (size > 0)
{
query.setMaxResults(size);
}

Donc, selon le numéro de page, vous pouvez récupérer autant d'enregistrements dans la base de données.