2010-07-01 5 views
0

Dans mon application GWT, j'ai un lien vers une URL externe. Je voudrais que cette URL soit configurable par un drapeau de serveur. Donc ma question est, comment puis-je rendre le drapeau du serveur accessible au présentateur/à la vue de GWT? Je peux créer une servlet qui renvoie la valeur de ce drapeau afin que le côté GWT puisse faire un appel RPC pour obtenir la valeur, mais je me demande s'il existe une meilleure façon de gérer cela.Comment passer l'indicateur de serveur au présentateur/à la vue GWT?

Répondre

3

Première étape

Remplacez votre index.html (ou tout autre page HTML que vous envoyez au client avec votre code GWT) avec une servlet qui rend le même code HTML.

Deuxième étape

Dans ce servlet, imprimer quelque chose comme

<script type="text/javascript"> 
    var info = {url:'http://url.com'}; // TODO put other stuff here 
</script> 

Troisième étape

Dans votre code GWT, faites ceci:

Dictionary info = Dictionary.getDictionary("info"); 

Maintenant vous avez un objet GWT à partir de laquelle vous pouvez obtenir votre URL, comme ceci:

String url = info.get("url"); 

Il est magique! Ceci est généralement très utile pour transmettre des informations statiques côté serveur dont vous avez besoin lors du chargement de la page, et vous savez que cela ne changera jamais, comme le nom d'utilisateur de l'utilisateur connecté, etc., et ainsi de suite.

Si vous souhaitez pouvoir modifier les données ou réagir aux modifications de données, vous devez créer un RPC pour l'obtenir à partir du serveur au chargement de la page.

+0

Fonctionne très bien. Merci! – smallbec