2017-01-26 3 views
0

J'ai un AjaxFallbackLink pour ajouter un produit dans la liste de souhaits d'un client. Lorsqu'un invité clique sur le lien, il est redirigé vers la page de connexion avec un RestartResponseAtInterceptPage. Après une connexion réussie, il est retourné à la première page. Mais l'URL contient le IBehaviorListener de mon lien "add to wishlist" et chaque Ajax Link ne fait rien sauf pour recharger la page sans aucun changement. Je pense que le problème est la correspondance incorrecte de l'instance de page et de l'occurrence BehaviorListener car ma page a démarré avec l'instance 1 et renvoyée avec l'instance 4 de la page de connexion. Tout fonctionne lorsque l'invité est déjà connecté. Comment puis-je supprimer le paramètre URL illégal ou appeler le rappel de lien correct pour ajouter le produit à la liste de souhaits après une connexion réussie?Wicket Submit BehaviorListener après RestartResponseException et remplacement de session

Répondre

0

Je pense que vous devez faire ce qui suit, en ajouter YourApplication # init():

getPageSettings().setCallListenerInterfaceAfterExpiry(true) 

Vous pouvez la remplacer par page si vous ne voulez pas lui permettre dans le monde, voir org.apache.wicket.Component#canCallListenerInterfaceAfterExpiry()

+0

Je l'ai testé demain. Je vous remercie. – Happo

+0

J'utilise Wicket version 6 et il n'existe pas la méthode Component # canCallListenerInterfaceAfterExpiry(). Existe-t-il un moyen de contourner ce problème? – Happo

+0

Non, c'est une amélioration de 7.x, j'ai peur. –