0

他の投稿から、デモ コードに従って mainServlet ファイルを変更する必要があることを知りました。N の場合、web.xml でサーブレット ファイルを指定する必要がありましたが、Rest サービスを使用するために、私の web.xml には既にサーブレット クラスが指定されていました。

質問: どうすればこれを解決できますか?

以下は私がやっていることです:

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: ここで servletfile を指定する必要がある場合、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>

誰かがこれから私を助けてくれることを願っています。よろしくお願いします。

4

1 に答える 1

0

writeAjaxPageHtmlVaadinScriptsクラスのメソッドをオーバーライドしてApplicationServlet、必要なinvientchartjsおよび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ファイルへの正しいパスを含めるようにしてください。

于 2013-01-09T19:17:01.557 に答える