0

誰かがこのようなことをしたかどうか尋ねたいだけです。基本的に、それはペイパルエクスプレスチェックアウト機能のようなものです:

1.)マーチャントストアでチェックアウトするアイテムを選択します。

2.)ログインページにリダイレクトされます。私の場合は、JerseyRestServletとして実装しました。投稿時に、データをセッションEJBバッキングBeanに格納し、Response.seeOther()を呼び出してログインページ(JSF)にリダイレクトします。

3.)ログインが成功した場合、転記されたトランザクションデータを保持する必要があります。

しかし、セッションバッキングBeanを呼び出すことはできますが、投稿されたデータをそのBean内の変数に格納しているようです。ログイン(ログインOK)をクリックして同じBeanに再度アクセスすると、投稿されたデータを格納する変数がnullになります。

では、セッションスコープはJersey Rest ServletとejbのセッションスコープバッキングBeanの間で共有されませんか?

他の良いアプローチはありますか?

ありがとう、
czetsuya

4

2 に答える 2

1

セッションスコープは、Webサービス呼び出しには使用できません。アプリケーションスコープを使用するか、独自のスコープを作成する必要があります。

于 2012-06-14T15:11:07.860 に答える
0

この問題を解決しようとしたところ、実装方法が異なるため、jsfセッションをジャージまたはサーブレットセッションと共有することはできないという結論に達しました。

私の問題に対する私の解決策(質問への回答ではありません)は、HttpServletを使用し、トランザクションをセッション属性として保存することです。

HttpSession session = request.getSession(true);
session.setAttribute("POSTED_ITEMS", postedItems);

だから次のページにアクセスできるようになります。

* javaee6 Beanに裏打ちされたjsfページに投稿する方法があればいいのにと思います。これにより、作業が簡単になります:-)。

于 2012-06-22T00:58:02.050 に答える