Kyl*_*tor 14 javascript java jquery vaadin
由于Vaadin是一个Java Web应用程序框架,因此可以在Vaadin Java代码中插入jQuery javascript片段吗?
miq*_*miq 10
是的.
像这样创建自己的ApplicationServlet扩展类:
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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后在web.xml中替换Vaadin servlet(默认为com.vaadin.terminal.gwt.server.ApplicationServlet):
<servlet-class>com.example.MyApplicationServlet</servlet-class>
Run Code Online (Sandbox Code Playgroud)
然后,您可以通过调用以下代码在代码中进行jQuery调用:
MyApplication.getMainWindow().executeJavascript(jQueryString);
Run Code Online (Sandbox Code Playgroud)
您可以使用@JavaScript和@StyleSheet注释
@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 {
...
}
Run Code Online (Sandbox Code Playgroud)
执行:
JavaScript.getCurrent().execute("...javascript code here...")
Run Code Online (Sandbox Code Playgroud)
小心使用较大的脚本.通过vaadin注释添加javascript的性能非常差.最好手动将脚本注入html标头中.
| 归档时间: |
|
| 查看次数: |
9041 次 |
| 最近记录: |