11
votes

Comment attribuer un identifiant unique Dom Element

My GWT Application crée des zones de texte, chacune d'une pièce d'identité pour pouvoir être utile à une bibliothèque JavaScript tierce. Je sais comment attribuer un identifiant à un widget GWT; Je suis après une bonne façon de générer ces identités uniques.


0 commentaires

4 Réponses :


1
votes

Je pense que ce serait ce que vous devez avoir besoin d'identificateurs uniques (à l'aide d'un espace d'horodatage et de l'espace de noms «widget»). XXX


0 commentaires

1
votes

Java a une classe intégrée pour la création d'identité unique: http://java.sun.com/j2se/1.5.0/docs/adu/java/util/uuid.html

Une autre manière courante consiste à utiliser un horodatage, c'est-à-dire system.currenttimemémis ()


4 commentaires

UUID n'est pas implémenté par GWT, mais j'ai trouvé un guide pour savoir comment fournir une mise en œuvre de votre choix: code.google.com/weboolkit/doc/1.6/... J'ai également trouvé une implémentation: 2ality.blogspot.com/2009/01/uuids-for-gwt.html Merci pour le headstart.


Pas de soucis! BTW, il semble que la réponse de Chi pourrait être encore plus appropriée à vos besoins.


Oui, je pense que vous êtes correct: htmlpanel.createuniqueid semble être exactement ce que je suis après.


Soyez prudent à l'aide de System.Currenttimemillis (), sur de nombreux systèmes, la granularité de l'appel n'est pas précise jusqu'à la milliseconde, et vous vous retrouvez avec la même valeur même lorsque vous avez appelé plusieurs millisecondes à part. Quoi qu'il en soit, vous ne pouvez jamais vous assurer que vous n'aurez pas deux fois le même identifiant à l'aide de cela. Un compteur mondial que vous augmente est probablement beaucoup plus sûr si vous pouvez vous permettre de le partager.



1
votes

JavaScript: xxx

java: xxx


0 commentaires

17
votes

Pour GWT, jetez un coup d'œil à HTMLPANEL.CREATEUNIQUIDED

String id = HTMLPanel.createUniqueId();


1 commentaires

La méthode dans HTMLPanel appelle la version plus générique: document.get (). CRATUNIQUID (); , qui est probablement ce que vous voulez utiliser et non créer une dépendance sur le widget HTMLPanel si vous ne le faites pas besoin de ça.