2

tapestry5 からの出力ストリームに情報を入れるにはどうすればよいですか?

ユーザーが入力したときに、保存用のダイアログを開くか、出力ストリーム情報を含むファイルを開くページが必要です。

次のコードを書きます。

パブリック クラス インデックス {

@Inject
private RequestGlobals requestGlobals;

@OnEvent("activate")
public void onActivate() {
    try {
        HttpServletResponse response = requestGlobals.getHTTPServletResponse();
        response.setContentType("text/txt");
        PrintWriter out = response.getWriter();
        out.println("hellooooooo");
        out.flush();
    } catch (IOException ex) {
        Logger.getLogger(Index.class.getName()).log(Level.SEVERE, null, ex);
    }
}

}

結果が「hellooooooooo」だけであることを願っていますが、(「hellooooooooo」+私のHTML生ページ)

4

2 に答える 2

3

メソッドの戻りタイプはStreamResponseである必要があります。インターフェースStreamResponseの実装を返します。これは、必要なコンテンツタイプで必要なデータを返すだけです。

ここで調べてください:

http://tapestry.apache.org/tapestry5/apidocs/

詳細はこちら:

http://tapestry.formos.com/nightly/tapestry5/tapestry-core/guide/pagenav.html

于 2008-11-17T19:56:32.653 に答える
1

大きな応答ストリームを扱っている場合、StreamResponseの使用は不便で非効率的です ( InputStreamを返さなければならないため)。レスポンスをOutputStreamに直接書き込む方がよいでしょう。

幸いなことに、Tapestry Wiki には、これを正確に解決するためのページがあります: Tapestry5: How To Create A Component Event Result Processor .

于 2011-10-30T20:49:48.657 に答える