Conserver valeur à la validation d'une jsp
Bonjour, j'ai le problème suivant :
Je possède une action :
Code:
1 2 3 4 5 6 7
| public class RechercheDemandeAction extends ActionSupport {
private List<Departement> departements;
private String nomSalarie;
public List<Departement> getDepartements() {}
}
public void setNomSalarie (String nomSalarie) {...} |
et un fichier RechercheDemandeAction-validation.xml.
Mon action dirige vers une jsp
recherchedemande.jsp avec :
Code:
1 2 3 4 5 6 7
|
<form ...>
<s:select label="Département souhaité" listKey="code" listValue="libelle" headerKey="0" headerValue="------"
list="departements" name="departement" onchange ="form.action='rechercheDemande.do';form.submit();">
</s:select>
<input type="text" id="nomSalarie" name="nomSalarie" />
</form> |
A la validation de cette jsp elle renvoie vers mon action. Si la validation se passe bien, tout fonctionne.
Sinon j'obtiens :
Code:
1 2 3 4
| javax.servlet.ServletException: tag 'select', field 'list', name
'departement': The requested list key 'departements'
could not be resolved as a collection/array/map/enumeration/iterator type.
Example: people or people.{name} |
En gros lorsque je charge ma jsp depuis mon action elle arrive bien à lire la liste "départements" par le getter dans l'action.
Mais lorsque le formulaire est soumis et que la validation échoue, cette liste n'existe plus (je suppose que l'instance de l'Action non plus ?)...
La valeur entrée par l'utilisateur dans la zone de texte disparaît également.
Comment peut-on conserver tout cela jusqu'à ce que la validation réussisse ? Faut-il mettre ces variables en session ?
Merci d'avance, j'espère avoir été assez clair.