Как я могу установить идентификатор для виджетов GWT в UiBinder?

В java-коде мы можем установить id. Можно ли установить «id» для виджетов GWT в самом UiBinder?

Если это возможно, пожалуйста, дайте мне образец.

На самом деле я попробовал следующий код,

<g:Button ui:field="login" debugId="loginButton">

Затем я проверил его в боевой готовности. Window.alert("Id: " + login.getElement().getId()); Но выход Id:.

Не установлен идентификатор для кнопки входа

Есть ли лучший способ сделать это?

Может кто-нибудь помочь мне?

Заранее спасибо, Гник


person Rajaa    schedule 07.08.2012    source источник


Ответы (2)


Проверьте наличие следующей строки в файле вашего модуля (*.gwt.xml):

<inherits name="com.google.gwt.user.Debug"/> 

И вызовите ensureDebugId(Element, id ) в вашем коде:

login.ensureDebugId(login.getElement(), "loginButton");
person Andrei Kapelchik    schedule 07.08.2012
comment
С унаследованным модулем отладки вы также можете использовать атрибут debugId в uiBinder.xml, например ‹g:HTMLPanel debugId=test› По умолчанию идентификатор элемента будет gwt-debug-test. Чтобы удалить префикс gwt-debug, вызовите DebugInfo.setDebugIdPrefix() в вашем onModuleLoad(). - person David Chandler; 04.03.2015

Добавление ID невозможно. Эта проблема также зарегистрирована как отчет об ошибке и закрыта как «как задумано». Подробнее см.:

http://code.google.com/p/google-web-toolkit/issues/detail?id=4176

Но вы можете добавить debugId, если добавите <inherits name="com.google.gwt.user.Debug"/> в свой файл *.gwt.xml.

См. Сопоставление поля ui: в GWT со сгенерированным кодом

person Croo    schedule 09.08.2012