2009-09-23 48 views
11

Ứng dụng GWT của tôi tạo ra các vùng văn bản, mỗi vùng phải có ID để hữu ích cho thư viện JavaScript của bên thứ ba. Tôi biết cách chỉ định ID cho tiện ích GWT; Tôi là một cách tốt để tạo ra những ID duy nhất đó.Cách chỉ định mã phần tử DOM duy nhất

Trả lời

16

Đối với GWT, hãy nhìn vào HTMLPanel.createUniqueId

String id = HTMLPanel.createUniqueId(); 
+14

Phương thức trong HTMLPanel gọi phiên bản chung hơn: 'Document.get(). CreateUniqueId();', có lẽ là những gì bạn muốn sử dụng và không tạo phụ thuộc vào tiện ích HTMLPanel nếu bạn không cần nó. –

1

Tôi tin rằng đây sẽ là những gì bạn cần cho số nhận dạng duy nhất (sử dụng dấu thời gian và không gian tên 'tiện ích con').

'widget-' + (new Date).valueOf() 
1

Java có một built-in Class để tạo ID duy nhất: http://java.sun.com/j2se/1.5.0/docs/api/java/util/UUID.html

Một cách phổ biến là sử dụng một dấu thời gian, tức là System.currentTimeMillis()

+2

UUID không được thực hiện bởi GWT, nhưng tôi tìm thấy một hướng dẫn cho làm thế nào để cung cấp một thực hiện của riêng bạn: http://code.google.com/webtoolkit/ doc/1.6/DevGuideOrganizingProjects.html # DevGuideModuleXml Tôi cũng tìm thấy triển khai: http://2ality.blogspot.com/2009/01/uuids-for-gwt.html Cảm ơn bạn đã bắt đầu. – David

+0

Đừng lo! Btw, có vẻ như câu trả lời của Chi có thể phù hợp hơn cho mục đích của bạn. – harto

+0

Vâng, tôi nghĩ bạn đã đúng: HTMLPanel.createUniqueId dường như chính xác là những gì tôi theo sau. – David

1

Javascript:

var idIndex = 0; 

function getNewId() { 
    return "textGWT"+(idIndex++); 
} 

Java:

class IdMaker { 

    private static int idIndex = 0; 

    public static String generate() { 
     return "textGWT"+(idIndex++); 
    } 
} 
Các vấn đề liên quan