1

誰かが私を助けることができますAJAX呼び出しとしてjavascriptからvaadinにPortletrequestを送信する方法は?

vaadinポートレットポップアップウィンドウにjavaScriptから選択した値を表示する必要があります

選択した値を取得するためにAJAX呼び出しを使用しています。

しかし、AjaxはHTTPリクエストを送信するため、ポートレットコンテキストは消滅します。

誰かがportletrequestの方法を教えてもらえますか

JavaScriptからの私のAjax呼び出し:

   $.ajax(
        {
            type : "POST",
            url  : "serveResource",
            data : {"tBPMNObject": JSON.stringify(chart.series.name)},
            dataType : "json"
        }
        ).done(function(responseData)
                {
                    console.log("Success#");
                    console.log(responseData);
                }
        ).fail(function(responseData)
                {
                    console.log("failed-->");
                    console.log(responseData);
                });

そして、HttpServletRequestListenerを実装することによるvaadinのリクエスト

public void onRequestStart(HttpServletRequest request,
        HttpServletResponse response) {

      String name = request.getParameter("tBPMNObject");

}
@Override
public void onRequestEnd(HttpServletRequest request,
        HttpServletResponse response) {


}
4

1 に答える 1

1

ajaxでフレンドリURLを渡すことにより、handelRenderRequestにリクエストを送信できます

    $.ajax(
            {
                type : "POST",
                url  :"Friendly URL of the portlet",
                data : {"CHART_VALUE": JSON.stringify(chart.series.name)},
                dataType : "json"
            }
    ).done(function(responseData)
            {
        console.log("Success#");
        console.log(responseData);
        vaadin.forceSync();
            }
    ).fail(function(responseData)
            {
        console.log("failed-->");
        console.log(responseData);
        vaadin.forceSync();
            });

request.getParameter( "CHART_VALUE");を使用して、renderrequestの値を取得できます。

     private class LiferayPortletListener implements PortletListener
    {
        public void handleRenderRequest(RenderRequest request, RenderResponse response, Window window)
        {
             system.out.println(request.getParameter("CHART_VALUE"));
             }}
于 2012-12-14T17:23:19.117 に答える