invient chart在web.xml中添加on-vaadin指示

时间:2013-01-02 17:47:27

标签: charts vaadin

我从其他帖子中了解到,必须根据演示代码修改mainServlet文件。 N然后必须在web.xml中指示servlet文件 但是,在我的web.xml中,我已经指定了一个servlet类,以便使用我的Rest服务。

问题:我该如何解决这个问题?

以下是我正在做的事情:

1

<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。

2:如果我必须在这里指出servlet文件,那么我应该如何让我的Rest Service工作? My Rest服务用于使用auth-constrain进行安全登录。

<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>

我希望有人可以帮助我解决这个问题。非常感谢提前。

1 个答案:

答案 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文件的正确路径。