Après ouverture d'une popup,Target Unreachable, identifier 'lResultats' resolved to null au retour sur la page
Bonjour,
Je suis nouvellement arrivée sur un projet utilisant le framework Seam que je ne connais pas encore. Je dois corriger un problème reproductible systématiquement mais je n'arrive pas à en trouver l'explication (et encore moins la correction à appliquer). :(
Voilà le problème : sur une page mapage.xhtml (appli en interne, je ne peux donc pas en fournir l'url), il y a une liste de résultats où une boucle est faite sur ce modèle :
Code:
1 2
|
<c:forEach items="#{monAction.liste}" var="lResultats" varStatus="status"> |
et en bas de page, il y a un lien qui permet d'ouvrir une popup :
Code:
1 2
|
<a4j:commandLink style="font-size : 11px" oncomplete="javascript:popuponclick('mapopup.seam?popupEdit=true&attributId=#{monAction.attributId}','apercusForm','toolbar=no,menubar=no,scrollbars=yes,resizable=yes,location=no,directories=no,status=no')" value="Ma Popup" /> |
A l'affichage de la page, tout se passe bien. Au clic sur le lien, la popup s'ouvre correctement (mis à part que je ne sais pas trop pourquoi, le attributId est vide dans l'url, mais cela ne semble pas être impactant sur les fonctionnalités de la popup). Cependant, si on ferme la popup et qu'on reclique sur le lien, la première page fait apparaître une erreur :
Code:
1 2
|
javax.el.PropertyNotFoundException: /view/demo/mapage.xhtml @64,60 value="#{lResultats.monattribut}": Target Unreachable, identifier 'lResultats' resolved to null |
Comme si le fait d'avoir ouvert la popup impliquait la perte de la valeur courante lResultats :weird:
Il est vrai qu'il y a de nombreux messages sur internet avec l'erreur que j'ai citée, mais ce n'est pas dans le même cas de figure qu'ici puisque ça marche la première fois. Les solutions proposées ailleurs ne m'ont pas aidées.
J'ai bien testé de placer un attribut @Scope(ScopeType.SESSION) et même un @AutoCreate sur l'action java directement, mais sans résultat (d'autant plus que la classe étendue les possède déjà).
Actuellement, cela ressemble à ça :
Code:
1 2 3 4 5
|
@Name("monAction")
@Synchronized(timeout = 10000L)
public class MonAction extends AbstractFormAction
{ ...} |
Code:
1 2 3 4 5 6
|
@AutoCreate
@Scope(ScopeType.SESSION)
@Stateful
public abstract class AbstractFormAction implements IFormAction, Serializable
{ ...} |
Avez-vous des suggestions à m'apporter ? Manque-t-il des informations pour que vous puissiez m'aider ?
Merci d'avance.