Jako że Vaadin jest strukturą aplikacji WWW Java, możliwe jest wstawienie kodu jQuery javascript do kodu Java Vaadin?Czy można używać jQuery w ramach Vaadin?
Odpowiedz
Tak jest.
Stwórz własną ApplicationServlet rozciągający klasę tak:
public class MyApplicationServlet extends ApplicationServlet {
@Override
protected void writeAjaxPageHtmlVaadinScripts(Window window,
String themeName, Application application, BufferedWriter page,
String appUrl, String themeUri, String appId,
HttpServletRequest request) throws ServletException, IOException {
page.write("<script type=\"text/javascript\">\n");
page.write("//<![CDATA[\n");
page.write("document.write(\"<script language='javascript' src='./jquery/jquery-1.4.4.min.js'><\\/script>\");\n");
page.write("//]]>\n</script>\n");
super.writeAjaxPageHtmlVaadinScripts(window, themeName, application,
page, appUrl, themeUri, appId, request);
}
}
Następnie wymień aplet Vaadin w web.xml (domyślnie jest to com.vaadin.terminal.gwt.server.ApplicationServlet
):
<servlet-class>com.example.MyApplicationServlet</servlet-class>
Następnie można wykonywać połączenia jQuery w swoim kodzie, dzwoniąc pod numer:
MyApplication.getMainWindow().executeJavascript(jQueryString);
Jak próbowałem, kod tej linii: MyApplication.getMainWindow(). ExecuteJavascript (jQueryString), może działać tylko dla niektórych prostych kodu javascript. Wygląda na to, że nie obsługuje bardziej złożonego kodu js. – Kyleinincubator
Nie znam jQuery tak dobrze, ale przynajmniej w mojej aplikacji Vaadin jest używana przez wykresy Invient (w oparciu o Highcharts). Czy zadziałałoby to dla Ciebie, gdyby zadeklarowałeś zawartość jQuery w pliku js, umieściłeś ją w nagłówkach stron (jak jQuery.js) i wywołałeś swoje funkcje za pomocą executeJavascript? Co więcej, czy sprawdziłeś (w/firebug lub podobnym), że biblioteka jQuery została pomyślnie załadowana? – miq
Sprawdź również ten przykład: http://vaadinjquery.appspot.com/ – miq
Jeszcze jeden sklep mizing dla ApplicationServlet:
public class VaadinApplicationServlet extends ApplicationServlet {
@Override
protected void writeAjaxPageHtmlHeader(BufferedWriter page, String title, String themeUri, HttpServletRequest request) throws IOException {
page.write("<script language='javascript' src='http://code.jquery.com/jquery-1.8.0.min.js'></script>");
super.writeAjaxPageHtmlHeader(page, title, themeUri, request);
}
}
Można użyć @JavaScript i @StyleSheet adnotacje
@StyleSheet({
/*
* JQuery UI
*/
"vaadin://jquery/jquery-ui-1.9.2.custom/css/ui-darkness/jquery-ui-1.9.2.custom.min.css",
})
@JavaScript({
/*
* JQuery
*/
"vaadin://jquery/jquery-1.11.1.min.js",
/*
* JQuery UI
*/
"vaadin://jquery/jquery-ui-1.9.2.custom/js/jquery-ui-1.9.2.custom.min.js",
})
public class MyUI extends UI {
...
}
wykonania:
JavaScript.getCurrent().execute("...javascript code here...")
uważać z większych skryptów. Dodawanie javascript za pomocą adnotacji vaadin ma bardzo słabą wydajność. Lepiej ręcznie wstrzyknij skrypt w nagłówku HTML.
Gdzie znajdują się pliki (np. '/ Jquery/...')? W którym folderze w projekcie? – luckydonald
Pliki przechodzą do folderu "VAADIN" aplikacji, do którego można uzyskać dostęp za pomocą adresu URL "vaadin: //" – d2k2
- 1. Kiedy można używać jQuery?
- 2. Jak używać szablonu HTML z Vaadin?
- 3. Czy można wielokrotnie używać google.setOnLoadCallback?
- 4. Czy można używać Parallax w aplikacji Facebook?
- 5. czy można używać szkieletu listenTo z obiektami jquery?
- 6. Używanie widgetów Vaadin w aplikacji GWT
- 7. Vaadin combobox
- 8. Vaadin - Lazy Query Container
- 9. Czy można aktualizować elementy w ramach listy (struktury)?
- 10. Czy można uruchomić Orleans obsługiwany w ramach usługi Windows
- 11. Czy można wykonać wiele procedur przechowywanych w ramach jednej operacji?
- 12. Czy można mieszać języki .net w ramach jednego projektu?
- 13. Uwierzytelnianie i uwierzytelnianie Vaadin
- 14. Czy można bezpiecznie używać os.environ.setdefault?
- 15. Vaadin JpaContainer
- 16. Czy można używać KnockoutJS z zamaskowanym wejściem?
- 17. Czy można używać dziedziczenia w interfejsach AIDL?
- 18. Czy można używać Panda3D w aplikacji wxPython?
- 19. Czy można bezpiecznie używać -DBL_MAX w kodzie?
- 20. Czy można używać Mockito w Kotlin?
- 21. Czy można używać klas anonimowych w C++?
- 22. Czy można używać HostListener w usłudze?
- 23. Czy można używać SplEnum w php 5.2.6?
- 24. Czy można używać skrótu MD5 w BigQuery?
- 25. Czy można używać repozytorium w widoku modelu?
- 26. Czy można używać `use` w ten sposób?
- 27. Czy można używać OCaml w trybie wbudowanym?
- 28. Czy można używać rozszerzenia .AsParallel w PCL?
- 29. Czy można używać zagnieżdżonego SUBQUERY w NSPredicate?
- 30. Wykryj tablet w Vaadin 7
Nie widzę powodu, dlaczego nie, ale nie rozumiem, dlaczego chciałbyś ... na pewno ramy pozwalają na oddzielny widok i kontroler? – bdares
Framework udostępnia niestandardowy komponent do używania macierzystego kodu js. Jednak gdy próbowałem jakiegoś skomplikowanego kodu js, prawdopodobnie nic się nie stało. Właśnie dlatego zadałem takie pytanie. – Kyleinincubator