2011-11-14 12 views
0

2つの異なるプロジェクトに2つのページがあります。私はページから別のデータにデータを渡す必要があります。異なるプロジェクトの別のWebページにデータを渡す方法(JSF 1.1 - ADF 10.1.3)

page = (String)ADFContext.getCurrent().getApplicationScope().get("comingFrom"); 

しかし、ページは常にnullである:私は

public String onSalva() { 
    ADFContext.getCurrent().getApplicationScope().put("comingFrom", md); 

    return "goToPrint"; 
} 

と私は他のページのバッキングBeanのコンストラクタメソッドで行うには、コマンドリンクのアクションで

。プロセス、セッション、リクエストスコープを使ってみました。パラメタを手動で指定して他のページにリダイレクトする方法はありますか?あなたは、「別のEAR」を言うとき

return "goToPrint?pageFrom="+md; 
} 

答えて

1

よう 何かが、その2つのアプリケーションが互いに分離されることを意味し、Javaを介して他の1つからデータを取得するための簡単な方法はありません。

代わりに、HTTPプロトコルを使用する必要があります。 URLに移動したいだけの場合は、ユーザーがURLを場所バーに入力したかのようにブラウザに新しいページが開きます。HttpServletResponse.sendRedirect()

ブラウザはもはやあなたの最初のアプリケーションに話をしません

あなたが最初のアプリケーションに滞在し、ちょうど反対側にいくつかのデータを送信したい場合は、いくつかの方法があります:あなたがiframeで他のアプリを埋め込むことができ - これではデータを交換することはできませんが、ユーザーはフォームを記入して送信することができます。

また、HttpClientのようなライブラリを使用して、他のアプリケーションと通信することもできます。これにより、POSTリクエストを送信して、Webブラウザが他のアプリケーションで行うことができるすべてを行うことができます。

最後に、両方のEARが消費する共有エンタープライズBeanを定義することができます。 1つのアプローチは、両方のアプリが購読するメッセージサービスを定義することです。最初のメッセージはメッセージを作成してキューに入れ、もう1つはメッセージを待ってメッセージを作成します。

+0

ありがとう、それは私が期待したものです。私はURLで遊んで終わった! –

関連する問題