Bonjour,

J'ai une petite question sur l'architecture Struts et plus particulierement sur le cycle de validation des pages.
Voila le procédé utilisé partout:

1) Initialisation de la page
2) Postback avec validation des champs
3) Si les champs sont valides on traite les données et on redirige
4) Si les champs ne sont pas valides le Bean de type DynaActionForm retourne les erreurs qui sont affichées sur la page grâce au tag <html:errors />.

Le problème est que j'utilise un scope request sur mes pages et que lors de l'affichage du message d'erreur tout le reste de ma page est "vide". Les éléments ont perdu leur valeur.

J'ai essayé de rajouter des champs "hidden" pour stocker mes variables et assurer la persistance de mes données lors du postback mais malheureusement le champ hidden ne prend que des valeurs de type String ou String[]. Or j'ai des objets et des ArrayList d'Objets utilisés pour l'initialisation de ma page.

Que faire ?

- Dois je recoder un système de viewstate (façon .net) ?
- Dois je serialiser mes objets pour les passer via la method POST ? (Solution des hidden field).
- Dois je gérer le passage de mon Bean en scope Session ? (Qui me parait difficil à gérer proprement).

Plusieurs solutions s'offrent à moi pour contourner le problème mais j'aimerais rester dans les standards de programmation Struts.

Merci d'avance pour vos conseils.