J'utilise Wicket 7.x avec l'API History. J'essaie actuellement de câbler un AjaxEventBehavior pour "onpopstate". J'ai du code qui ajoute un objet quand je fais history.pushState, mon problème est que je ne peux pas accéder à cette information supplémentaire du côté Java avec onEvent.Wick AjaxEventBehavior avec l'API d'historique
Exemple pushState:
target.appendJavaScript("history.pushState({query: '" +
searchResults.getQueryString() + "'}, null, window.location.pathname);");
EventBehavior:
this.getPage().add(new AjaxEventBehavior("onpopstate")
{
@Override
protected void onEvent(AjaxRequestTarget target)
{
//code to get query defined in pushState
}
});
updateAjaxAttributes est pas une solution car elle est appelée uniquement lorsque la page est rendue. Je dois envoyer ces données supplémentaires quand popstate est appelé.
Bonjour, merci pour le conseil. Cela m'a mis sur la bonne voie! J'utilise maintenant getDynamicExtraParameters comme vous l'avez suggéré. Le seul problème auquel je suis confronté est lorsque les paramètres supplémentaires sont ajoutés, il se passe trop tôt dans mon événement pour récupérer les informations correctes. Est-il possible de retarder l'exécution jusqu'à une date ultérieure? La valeur actuelle que je passe à getDynamicExtraParameters est "return {'query': attrs.event.originalEvent.state.query}". – Greg
J'ai trouvé une solution à mon problème, j'utilisais abusivement l'API History. Merci pour la bonne réponse! – Greg