我从其他帖子中了解到,必须根据演示代码修改mainServlet文件。 N然后必须在web.xml中指示servlet文件 但是,在我的web.xml中,我已经指定了一个servlet类,以便使用我的Rest服务。
问题:我该如何解决这个问题?
以下是我正在做的事情:
<servlet>
<servlet-name>ServletAdapter</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>ServletAdapter</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
问题是不会加载Invient Widgetset。
<servlet>
<servlet-name>VaadinApplication</servlet-name>
<servlet-class>suricate.vaadin.MyApplicationServlet</servlet-class>
<init-param>
<param-name>application</param-name>
<param-value>suricate.vaadin.MyApplication</param-value>
</init-param>
<init-param>
<param-name>widgetset</param-name>
<param-value>com.example.myapp.widgetset.MyAppWidgetSet</param-value>
</init-param>
</servlet>
我希望有人可以帮助我解决这个问题。非常感谢提前。
答案 0 :(得分:0)
您可以覆盖writeAjaxPageHtmlVaadinScripts
类中的ApplicationServlet
方法,并注入所需的原始图表js和css文件。
这就是我所做的。
public class TogetherApplicationServlet 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\" language=\"javascript\" src=\""
+ appUrl
+ "/modules/core/jquery/jquery-1.4.4.min.js\"></script>\n");
page.write("<script type=\"text/javascript\" language=\"javascript\" src=\""
+ appUrl + "/modules/core/js/highcharts.js\"></script>\n");
page.write("<script type=\"text/javascript\" language=\"javascript\" src=\""
+ appUrl
+ "/modules/core/js/modules/exporting.js\"></script>\n");
super.writeAjaxPageHtmlVaadinScripts(window, themeName, application,
page, appUrl, themeUri, appId, request);
}
}
您必须像我上面所做的那样修改您的suricate.vaadin.MyApplicationServlet
。确保包含原始图表js和css文件的正确路径。