2010-02-23 5 views
0

У меня проблема, связанная с Wicket и Ext JS. У меня есть текстовое поле в Ext JS, и я хочу добавить к нему Wicket ID. В Ext JS текстовые поля имеют ограниченные свойства. Как я могу это сделать?Смешивание Ext JS и Wicket

+0

http://wicket.apache.org/ – Upperstage

+0

Сочетание extjs и калитки практически не имеет смысла. Два совершенно разных подхода к одной и той же проблеме. Это похоже на попытку создания приложения ncurses с помощью инструментария QT. –

+0

@ammoQ ext js - 100% клиентская сторона. Калитка - 80% серверная сторона. Или я ошибаюсь? – Karussell

ответ

0

Вам нужно будет использовать DOM для добавления пользовательских атрибутов в разметку. См. Ext.Element.

0

Если вы хотите добавить калитки: id, то я предполагаю, что вы хотите добавить калибровочный компонент с этой калитки: id на свою страницу/компонент. Для этого для работы этой калитки: id должен присутствовать в html для вашей страницы/компонента во время рендеринга. Поэтому добавление его в DOM с javascript не поможет вам, так как калитка никогда не увидит его.

Есть несколько встроенных калитки, которые могут вам помочь, но я их не использовал. Попробуйте найти в списке калитки почты: http://old.nabble.com/Apache-Wicket-f13974.html

1

Есть по крайней мере два проекта, которые пытаются интегрировать Ext JS в калитку:

http://code.google.com/p/wicket-extjs-integration/ :(GPL

http://code.google.com/p/wicket-ext/ апач лицензия :)

+0

Проект калитки-ext неактивен (последняя модификация была в июне 2009 года). Интеграция с калитки-extjs также не очень активна (последняя модификация была в январе 2011 года). Он также странно использует AspectJ для одного аспекта. Кроме того, неясно, как использовать его, поскольку нет документов. В основном это похоже на то, что он переводит ExtJS api в Java-форму, но я не уверен в этом. В какой-то момент вам придется кодировать JS, так почему бы не сделать это? –

0

калитки -extjs-интеграционный проект теперь доступен под лицензией Apache. Однако лицензирование является сложным вопросом, поскольку сам код ExtJS является GPL. Для получения дополнительной информации см. http://code.google.com/p/wicket-extjs-integration/wiki/Licensing.

, как мы (Hippo) использовать его в основном это, позволяя компонент калитку

  1. настроить конфигурацию и

  2. реализации компонентов переплете услуг для компонента Ext; , например. чтение/запись JsonStore может быть реализовано в чистой java.

Также легко подписаться на события Ext с помощью (java) прослушивателя событий.

Как правило, компоненту Wicket требуется только загрузить компонент Ext. Однако у нас также было несколько случаев, когда нам понадобилось обернуть компонент Wicket в компонент Ext. Это также довольно легко осуществить. (см. наш код менеджера каналов @http://svn.onehippo.org/repos/hippo/hippo-cms7/addons/addon-channel-manager/trunk/)

Возможность компоновки иерархии компонентов Ext позволила нам расширить механизм плагинов на основе Wicket на стороне Ext. Например. Плагины Wicket каждый создают экземпляр компонента Extreme карты/панели &, которые агрегируются на стороне калитки в компоненте, который создает панель вкладок Ext.

Аннотации метода, которые вы упомянули, - это то, что нам не нужно; мы обычно запускаем код на стороне клиента, испуская код javascript. Вероятно, более чистым решением было бы запустить мероприятие.

Используемые версии Wicket и ExtJS немного устарели (1.4.xx & 3.4.x), что-то, что мы будем решать на короткий срок.