Использование плагинов jquery с Google Web Toolkit?
Можно ли использовать плагины jquery в Google Web Toolkit?
Существует множество отличных плагинов, доступных для различных виджетов пользовательского интерфейса, таких как указатели даты / времени, выпадающие списки с возможностью поиска и т. Д. Во многих случаях эти плагины также имеют свои собственные стили CSS. Я хотел бы иметь возможность использовать эти плагины и получить их значения в моем приложении gwt.
2 ответа
Из опыта у вас есть два варианта.
- Вы можете использовать GwtQuery, который является родной версией gwt большей части jquery. Например, "$" на самом деле является статическим классом Java. Есть также довольно много плагинов и дополнений, которые имеют отличную поддержку, таких как GwtQuery-DND для перетаскивания.
http://code.google.com/p/gwtquery/
http://code.google.com/p/gwtquery-plugins/
- Другим вариантом является роль для конкретных примеров. Если у вас есть определенный плагин JQuery, который вы хотите, и GwtQuery не для вас. Вы можете использовать интерфейс gwt jsni, который, по сути, позволяет вам вызывать нативный javascript, используя нативный интерфейс java. Есть довольно много плагинов, которые работают таким образом, таких как Gflot и gcodmirror (это родная версия редактора вики, который я сейчас использую).
Документация JSNI
http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html
ИМХО, лучше придерживаться GwtQuery, так как функции jquery практически дословно используются в GwtQuery, и вы получаете дополнительное повышение производительности за счет компиляции и оптимизации кода компилятором gwt.
Да, вы можете использовать библиотеки Javascript в проекте GWT. Просто импортируйте его в ваш HTML-файл или GWT.xml. В вашем файле module.xml, как показано ниже.
<module rename-to='TestingProject'>
<inherits name='com.google.gwt.user.User'/>
<entry-point class='test.Gwt.testingSample.client.TestingProjectEntry'/>
<inherits name="com.google.gwt.user.theme.standard.Standard" />
<source path='client'/>
<source path='shared'/>
<script src="/js/jquery-1.10.min.js"></script>
</module>
И проверить в вашем HTML-файле..
<body>
<center>
<div id= "start"></div>
</center>
<script type="text/javascript">
$(document).ready(function(){
$("div#start").html("<font color = 'green' font-weight = 'bold' size = '12'>
Hello World !</font>");
});
</script>
<body>
Иметь полезное для вас...!