(je déplace un sujet que j'avais mal placé, vraisemblablement)
Bonjour.
J'ai un petit souci de perte de données sur un projet en Struts. L'application web est un outil de gestion de projets.
Chaque projet a des types de fiches, et on peut configurer, pour chaque type de fiches, l'utilisation de certains états parmi une centaine. Il faut donc configurer pour chaque projet, entre autre, les états utilisés et les relations entre les états.
la configuration des états est affichée de façon tabulaire :
Chaque type de fiche est une colonne, et chaque état est une ligne. Si l'état est utilisé par le type de fiche, une case à cocher est cochée, sinon, la case n'est pas cochée.
Une fois à étape de configuration, en appuyant sur un bouton "suivant", on valide la configuration et on passe à la configuration des relations entre les états.
[...]
L'application est utilisée à grande échelle, et je n'ai généralement pas de problème avec les différents projets.
Un client a un projet possédant une dizaine de fiches, et chaque fiche possède potentiellement 90 états différent, et en général 10 états.
il m'a contacté car il avait, en passant de l'étape de configuration des états à l'étape de configuration des transitions, perdu une partie des états configurés.
Après quelques recherches et tests, nous avons compris que l'erreur venait du fait qu'il avait validé l'étape de configuration des états avant que l'ensemble des états soient affichés.
Comme les états n'étaient pas tous affichées, les cases à cochées ne l'était pas, et la validation considérait que les états n'avaient pas été sélectionné.
Pour résoudre le problème, une des solutions seraient de bloquer la validation de l'étape tant que la page n'est pas totalement chargée.
Est-ce qu'il y a une méthode en struts, pour renvoyer un évenement, ou je ne sais quoi, quand la page est totalement chargée ? il y a t'il une autre solution ? ( autre qu'une refonte du système d'affichage profonde ?)
Merci beaucoup.
PS : je ne savais pas trop quels mots utilisés pour rechercher un sujet similaire, donc j'en ai créé un.
Partager