一部のポートレットには、ajax経由でアクセスしたいページがあります。 そのページでは、httpヘッダー(少なくともStatus)を設定する必要があります。 私が見る限り、このようなヘッダーはスクラブされています。liferayポートレット・ページにhttpヘッダーを渡す
質問は - 私はいくつかの特定のヘッダーを渡すために生きていることをどのように伝えることができますか?
一部のポートレットには、ajax経由でアクセスしたいページがあります。 そのページでは、httpヘッダー(少なくともStatus)を設定する必要があります。 私が見る限り、このようなヘッダーはスクラブされています。liferayポートレット・ページにhttpヘッダーを渡す
質問は - 私はいくつかの特定のヘッダーを渡すために生きていることをどのように伝えることができますか?
ポートレットは設計上、HTTPヘッダーにアクセスできません。ページ上にどのポートレットが一緒になるかは予測できません。他のポートレットが週ごとの再検証に満足している間に、1つのキャッシング情報を「即座に再検証」するとしたら、すべて同じページに終わるとします。
しかし、この制限を克服するために、Portletspec 2.0、つまりJSR-286は、別個のライフサイクルフェーズとして、特にそのような機能をポートレットに追加することでリソースを提供しました。ただし、これは、「メイン」ポートレット出力を生成することとは別のものです。
メカニズムは、使用するフレームワークによって異なります。プレーン・ポートレットAPIは、あなたの質問にコメント内で提案されている「home」としてserveResourceを検索します。 ResourceRequest/ResourceResponseパラメータからそのメソッドにHTTPヘッダーにアクセスできますが、ActionResponseやRenderResponseではなく意図的にHTTPヘッダーにアクセスできます。
JSR 286ポートレットまたはJSR168ポートレットを使用していますか? – home
@home JSP168私は信じています。 – shabunc
JSR 286では、XML(AJAX)要求を処理するための_serveResource_という新しいAPIが導入されました。ここでは、HTTPヘッダーを明示的に設定できます。最新のLiferayリリースでは、このJSRのサポートが提供されています。 – home