2

現在、Webウィジェットを作成しています。このウィジェットのコンテンツに、サーバー上のウィケットコンポーネントによって生成されたHTMLデータを入力したいと思います。

そのために、サーバーはJSONPを介してHTMLデータを出力します。ここまでは順調ですね。

ただし、このHTMLデータを取得する必要があります。ウィケットコンポーネントからのHTML出力をサーバーに取得するにはどうすればよいですか?

4

2 に答える 2

6

これがあなたの設定に適用できるかどうかはわかりませんが、htmlベースの電子メールを構築してウィケットコンポーネントを使用できるようにするために、少し前に書いたレンダリングされたhtmlを取得するためにコードのビュー行を使用しています

protected final String renderPage(Component page)  {
        final Response oldResponse = RequestCycle.get().getResponse();
        BufferedWebResponse tempResponse = new BufferedWebResponse((WebResponse) RequestCycle.get().getOriginalResponse());

        try {
            RequestCycle.get().setResponse(tempResponse);
            page.render();
        }
        finally {
            RequestCycle.get().setResponse(oldResponse);
        }

        return tempResponse.toString();
    }

このレンダリングは実際の webapplication サイクル内で行われますが、実際の requestcycle とは独立しているため、元の requestcycle を保持することをお勧めします。ページは、レンダリングされた html 出力を取得できる一時的な Web 応答でレンダリングされます。

これがあなたが探しているものであることを願っています

于 2012-06-06T13:50:55.477 に答える
0

この Wicket Wiki 記事とリンクされたソース コードで必要なものがすべて見つかるかもしれません: Use wicket as template engine

私はそれを試したことがないことを認めなければなりませんが、それを読んで、さらに参考にするために思い出してください...

于 2012-06-06T13:38:55.390 に答える