Struts - Spring : problème de session/scope
Bonjour,
J'utilise spring 3.0 avec struts 2.3.4, mais j'ai un gros problème de session/scope.
J'ai un moteur de recherche, auxquels je soumet une requête via un formulaire en post, ce que je m'aperçois en prod c'est que mes attributs posté sont mélangé entre les différents utilisateurs.
Ainsi une recherche est bien lancé et le résultat est cohérent, mais en faisant F5, parfois les paramètres que j'avais sélectionné sont supprimé, et d'autres ajouté. Visiblement c'est le résultat d'un autre utilisateur que j'obtiens aléatoirement!
J'ai définis comme ceci mon action :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
@Controller
public class CatalogueAction extends ActionSupport implements ServletRequestAware, Preparable {
@Autowired
private SuperService s; // le super service
// Les attributs posté
private String listePrix;
private Set<String> nomenclaturesId = new HashSet<String>();
private Set<String> editeursId = new HashSet<String>();
private String tarif;
// Action de recherche
public String rechercherRessource() {
if (s.getSolrService().rechercherRessource(page, this.PAGE_SIZE, this.query, this.nomenclaturesId,
this.editeursId, this.typeProduitId, this.tarif)) {
for (StringBuilder sb : s.getSolrService().getResultat()) {
this.resultat.add(sb.toString()); // J'affiche le resultat
return SUCCESS;
}
return ERROR;
} |
Mon struts.xml
Code:
1 2 3 4 5 6 7 8 9 10 11
| <struts>
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<constant name="struts.devMode" value="true" />
<package name="basicstruts2" extends="struts-default,json-default">
<!-- Recherche -->
<action name="rechercherAction" class="fr.cndp.ccr.catalogue.actions.CatalogueAction" method="rechercherRessource" >
<result name="success">rechercheRessource.jsp</result>
<result name="error">erreur.jsp</result>
</action>
</package>
</struts> |
Je n'arrive pas a reproduire en local ce problème (même avec plusieurs navigateur).
J'ai essayé d'ajouté un scope sur mon action sans succès :
Code:
@Scope("prototype")
Avez vous une idée ? Merci pour votre aide