- - PR -
tomcat struts Actionでsessionに保存したformを jspで表示する方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-01-21 11:54
皆さんこんばんは!
質問がありまして、書き込ませていただきます。 環境 Windows2000 Professional SP4 IIS 5.0 JDK 1.4.1_01 Tomcat 4.1.18 struts 1.02 MSSQL2000 SP3 ActionFormに値(配列)をsetして、 ActionでActionFormをSessionにsetAttributeしました。 sessionに保存した値(配列)を.jsp画面から表示したいのですが… なかなか表示できません。 (1)struts-config.xml <form-bean name="S_OutSelectForm" type= "jp.co.tokyo_biso.cs24h.web.s_out.S_OutSelectForm"/> <action path="/viewS_OutSelectDivid" type="S_OutSelectDividAction" name="S_OutSelectForm" scope="request" validate="true" input="/s_out/s_out_select.jsp"> <forward name="..." path="/....do" /> </action> (2)Action S_OutSelectForm frmSelect = (S_OutSelectForm) form; frm.setArrGroup(arrGroup); ... ... HttpSession session = request.getSession(true); session.setAttribute("s_out_select", frmSelect); return (mapping.findForward("success")); (3)jsp 1)<jsp:useBean id="S_OutSelectForm" scope="request" class="jp.co.tokyo_biso.cs24h.web.s_out.S_OutSelectForm"/> 2)<jsp:useBean id="s_out_select" scope="session" class="jp.co.tokyo_biso.cs24h.web.s_out.S_OutSelectForm"/> エラーa)Cannot find bean s_out_select in scope request ‘(3)jspの1)’の場合は配列が画面に表示されます。 しかし、‘(3)jspの2)’の場合には画面に表示できず‘エラーa)’が表示されます。 なぜsessionを使うかと言いますと、 最初表示された画面(画面1:検索画面:配列が表示されている)から他の画面(画面2:結果画面)に遷移するとき、 Validateでチェックを行い、エラー時画面1に戻ります。 画面1に戻ってきた時、最初表示されていた配列は消えてしまいます。 それで、配列をsessionに保存すればエラー時、画面1に戻ってきても配列の表示が可能だと思いました。 ここで、質問です。 質問1.‘(3)jspの2)’の場合‘エラーa)’になった理由が知りたいです。 質問2.‘(1)Actionでsessin’に設定したフォームを‘(3)jsp’から参照して表示する方法が知りたいです。 以上です。 それでは宜しくお願いします。 タン |
|
投稿日時: 2005-01-21 17:00
解決できました。
読んでいただいた皆さん、ありがとうございます。 原因:sessionからFormを取得するところでは scope="session" FormからPropertyを取得するところでは scope="request" だったので、出来なかったです。 解決策: FormからPropertyを取得するところを scope="session" に修正しました。 以上。 |
|
投稿日時: 2005-01-24 18:38
こんばんは。
せっかくStrutsつかっているなら Strutsのカスタムタグを使ってみたらどうでしょうか? そしたらJSPではスクリプレット使わなくて済む(ほとんど)と思います |
1