У меня есть блок HTML, который я хотел бы использовать в качестве основы для GWT-виджета, но не совсем уверен, что это лучший способ сделать это. Например, мой 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>
Теперь я, конечно, могу вставить это как статическую строку в виджет HTML, но в этом случае мне нужна возможность задавать текст элементов «title» и «content» на лету. Это убивает (или, по крайней мере, значительно усложняет) параметр статического текста.
Первое, что приходит на ум в этом случае, - это создать элементы в GWT вручную и хранить ссылки на те, которые мне нужно изменить, например:
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);
Но это быстро становится неуправляемым для всех, кроме простейших макетов (которые у меня нет.)
Что мне нужно, так это возможность отправлять HTML-код в виде статического текста, а затем делать какой-то селектор, например jQuery, для запроса элементов, которыми я хочу манипулировать. Мне известно о GWT-Query , но я не смог запустить его без ошибок, и мне кажется, что он слишком рано для меня, чтобы его было удобно интегрировать. в профессиональный продукт только сейчас.
Мне также известно о UiBinder от Google, который звучит точно так же, как я хочу. Насколько я могу судить, проблема в том, что функциональность доступна только в GWT 2.0, который все еще находится в состоянии кандидата на выпуск и поэтому для меня непригоден.
Итак, учитывая все это (извините за длинный вопрос!), Есть ли у вас какие-либо предложения о том, как лучше всего достичь чего-то подобного?