WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:サーブレットとJSPの連携

0:[投稿] (^^)? [2002/11/26 06:24 ][環境:WIN+IE WIN系+Java]

お世話になります。

サーブレットとJSPの連携について教えて下さい。

1)サーブレットからJSPをコールします。
2)呼ばれたJSPは、サーブレットによって設定されたuseBean
  を使用します。

この場合、JSPでは、サーブレットで設定した内容が取得出来ません。

【ソース】
 <<サーブレット>>
    myContent contentsList = new MyContent();
    contentsListHand.setContentsList( contentsList ) ;
    httpSession = request.getSession( true ) ;
//この時点では、contentsListHandに情報が設定されている。
    httpSession.setAttribute("contentsListHand", contentsListHand) ;
    jspCall = request.getRequestDispatcher("/jsp/sample.jsp") ;
    jspCall.forward(request, response) ;

<<JSP>>
<jsp:useBean    id="contentsListHand"
            class="jp.co.mei.pvi.bacchus.model.ContentsListHand"
            scope="request"/>
    contentsList = contentsListHand.getContentsList();
    //この時、contentsListにはnullが入っている。

*.scopeをsessionでも試しましたが、ダメでした。

皆様の力を御貸し下さい。m(__)m

以上、宜しくお願い致します。


1:[回答] にゃあ! [MAIL] [2002/11/27 13:58 ]

JAVABeansは使ったことがないので、よくわからないのですが、

httpSession.setAttribute("contentsListHand", contentsListHand) ;
で設定したデータは
httpSession.getAttribute("contentsListHand") ;
で受け取らないといけないのではないでしょうか?


2:[回答] RaspBerryJam [2002/11/27 14:49 ]

わざわざセッションを取っているので
仕様から外れているかもしれませんが
HttpSession.setAttribute(String,Object);を
Request.setAttribute(String,Object);とやれば多分できます

回答ではありませんがこのソースで動いてるのですよね?
ServletContext.getRequestDispatcherではなく
Request.getRequestDispatcherで、できるの知りませんでした
勉強になりました


3:[完了] (^^)? [2002/12/03 11:39 ]

にゃあ!殿、RaspBerryJam殿へ

御回答、ありがとうございました。
また、体調を崩し、倒れてしまった為、返答が遅くなってしまい
申し訳けありませんでした。
m(__)m

<<JSP>>
 RequestDispatcherで、コールしているJSPがHTMLのフレームに
 リンクしている構造となっている為、scopeを"request"で使用
 する事が出来ませんでした。
 その為、scopeを"session"に変更致しました。

<<Servlet>>
 サーブレットは、修正無しでした。

【原因】
 最初、scopeを"request"で実行した時に、巧く動作しなかった
 ので、本を読みながら、getValueとか推奨されていないメソッド
 コールしてたのでダメみたいでした。
 単純に、HTMLでフレーム指定されている箇所にJSPを読込むと時
 は、sessionを指定するれば、良かったみたいです。

以上、ありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World