J'ai un bloc de HTML que j'aimerais utiliser comme base d'un widget GWT, mais je ne suis pas sûr de la meilleure façon de le faire. À titre d'exemple, mon bloc HTML ressemble à ceci:Widget GWT à partir du HTML
<div class="my-widget">
<div class="header">
<span class="title">Title Text</span>
</div>
<div class="body">
<span class="content">Content Text</span>
</div>
</div>
Maintenant, je peux bien sûr coller cela comme une chaîne statique dans un widget HTML, mais dans ce cas j'ai besoin la possibilité de définir le texte de la éléments "title" et "content" à la volée. Cela tue (ou rend au moins beaucoup plus difficile) l'option de texte statique.
La première chose qui vient à l'esprit dans ce cas est de construire les éléments GWT manuellement et contenir des références à ceux que je dois modifier, comme suit:
DivElement container = document.createDivElement();
setStyleName(container, "my-widget");
setElement(container);
DivElement header = document.createDivElement();
setStyleName(header, "header");
container.appendChild(header);
// Hold onto this element for later manipulation
DivElement title = document.createDivElement();
setStyleName(title, "title");
header.appendChild(title);
Mais cette obtenir rapidement ingérable pour Ce que je voudrais est la possibilité d'envoyer le HTML en tant que texte statique, puis faire une sorte de sélecteur, comme jQuery, pour interroger les éléments que je veux manipuler. Je suis au courant de GWT-Query mais je n'ai pas pu le faire fonctionner sans erreur, et il me semble être un peu trop tôt dans sa vie pour être à l'aise de l'intégrer dans un produit professionnel pour le moment.
Je suis également au courant de UiBinder de Google, qui ressemble exactement à ce que je veux. Le problème est, pour autant que je sache, que la fonctionnalité n'est disponible que dans GWT 2.0, qui est toujours dans un état candidat à la publication et donc inutilisable pour moi.
Donc, étant donné tout cela (désolé pour la longue question!) Avez-vous des suggestions sur la meilleure façon de réaliser quelque chose comme ça?
Eh bien, je dois livrer dans environ deux semaines. :) Je me suis rapproché de mes goûts, mais après avoir joué avec GWT 2.0 la nuit dernière à la maison pendant quelques heures, je suis arrivé à la conclusion que toute solution que je trouverai sera loin de la merveilleuse librairie UiBinder que Google a créé. Je vais juste mordre la balle sur celui-ci et commencer à développer en utilisant cela, en espérant et en priant que Google ne me tire pas dessus quand je le fais. – Toji
Bon choix, je ne pense pas que vous ayez à avoir trop peur du choix. UiBinder est un ajout important et a été conçu pour Google Wave, il a donc été largement utilisé. De plus, les RC sont généralement complets, ils veulent simplement s'assurer qu'il n'y a plus de bogues gênants. –