我创建了一个非常简单的VAADIN项目,它在src中有两个文件。一个servlet类(扩展ApplicationServlet),我在body标签中放置一个jQuery文件的链接。这是代码:
public class servlet extends ApplicationServlet{
@Override
protected void writeAjaxPageHtmlHeader(final BufferedWriter page, String title, String themeUri,
final HttpServletRequest request) throws IOException {
//Don't forget to call super or nothing will work
page.write("<script type=\"text/javascript\"> src=\"/jqueryhtml/VAADIN/themes/simple/jquery-1.4.4.min.js\" </script>");
page.write("<script type=\"text/javascript\"> src=\"/jqueryhtml/VAADIN/themes/simple/testingjs.js\" </script>");
super.writeAjaxPageHtmlHeader(page, title, themeUri, request);
}
}
并在web.xml文件中用此替换默认servlet。 除此之外,我有一个只有这一行的html文件。
<div id="test">Click Me for alert Box</div>
此文件位于layout / themes文件夹中。
我有一个加载主题的应用程序文件。这是代码:
public class JqueryhtmlApplication extends Application {
@Override
public void init() {
Window mainWindow = new Window("Fullscreensignature Application");
Panel panel = new Panel("Login");
panel.setSizeUndefined();
// Create custom layout from "layoutname.html" template.
CustomLayout custom = new CustomLayout("simple");
// Use it as the layout of the Panel.
panel.setContent(custom);
mainWindow.addComponent(panel);
mainWindow.setTheme("simple");
setMainWindow(mainWindow);
}
}
这是我的jQuery文件。
$(document).ready(function(){
$('#test').click(function(){
alert("You can see a alert box");
});
});
输出说:
点击我的警告框(正如我在div中写的那样)。
现在的问题是,它正确加载HTML,css和jQuery文件(我可以在我的浏览器检查元素中看到)。但是点击它时jQuery不起作用。任何建议都将受到高度赞赏。谢谢,
此致
哈桑