4

Tapestry5を使用するプロジェクトにOAuthプロトコルのサービスプロバイダーを実装する必要があります。そのため、HTMLでもJSONでもない非常に単純なHTTP応答本文を返す必要があります。

最初は、標準のtml&pojo(java class、page)アプローチを使用しようとしましたが、Tapestryがテンプレートを解析しようとするため、これは機能しません。

だから私は何か違うことを試みなければならないと思います。たぶん、ページでrender()メソッドを使用することは可能ですか?しかし、この質問に答えるドキュメントは見つかりませんでした。

それとも、自分のニーズにより適した別のフレームワークを使用する必要がありますか?

アドバイスありがとうございます、

リチャード

4

2 に答える 2

4

ブライアンは私を正しい方向に押し進めましたが、問題の実際の解決策はさらに簡単でした。

StreamResponse onActivate() {
     return new TextStreamResponse("text/plain", "foo=bar");
}
于 2010-08-17T09:24:56.667 に答える
3

テンプレートを使用せずに、ページから直接テキストをストリーミングできます。

StreamResponse onActivate() {
  return new StreamResponse(
    public String getContentType() {
      return "text/plain";
    }

    public InputStream getStream() {
      return new ByteArrayInputStream("foo=bar".getBytes());
    }

    public void prepareResponse(Response response) {
      // response.setHeader(...
    }
}

多くのページでそれを行っている場合は、Tapestryがデフォルトでページに追加するすべてのxml / html/headのものをバイパスできる独自のDocumentLinkerを提供できると思います。その後、テンプレートの使用に戻ることができます。

于 2010-08-16T21:57:08.640 に答える