フォーラム

GroupSession

フォーラム
GroupSessionについての自由な情報交換の場としてご利用ください

GroupSessionフォーラム:投稿一覧

 
フォーラム:03_プラグイン開発フォーラム
掲示板(bbs070.do)[戻る]ボタンの情報引継ぎについて
[ 1464 ] 掲示板(bbs070.do)[戻る]ボタンの情報引継ぎについて

掲示板[スレッド新規作成]bbs070.jspを開いて、__doInit(map, bbsForm, req, res, con);
が実行され、掲示板の内容を入力後、[スレッド新規作成確認]bbs070kn.jspへ移動後、戻る
ボタンで戻った時に、[スレッド新規作成確認]bbs070kn.jspで確認した内容が、掲示板[スレ
ッド新規作成]bbs070.jspで再度表示されます。

そこで呼ばれるのが、setInitData(bbs070Biz.java)
public void setInitData(HttpServletRequest req, Bbs070Form form, Connection con,
String appRoot, String tempDir)
throws SQLException, IOException, IOToolsException {
<snip>
//スレッド情報を設定
BbsBiz biz = new BbsBiz();
BulletinDspModel bbsMdl = biz.getThreadData(con, form.getThreadSid());
form.setBbs070title(bbsMdl.getBtiTitle());

//スレッドの投稿情報を設定
BulletinDspModel bbsWriteMdl = bbsBiz.getWriteData(con, form.getBbs080writeSid());
form.setBbs070value(bbsWriteMdl.getBwiValue());
<snip>
まだH2 DatabaseEngineに登録してない状態であるにも関わらず。
たとえば、BulletinDspModel getWriteDataが、DAOを使って読み込んでいます。
まだ[スレッド新規作成確認]bbs070kn.jspの画面で[OK]していなく、public int insertThreadData
が実行されていないし、要はDB登録していないのに、どうして取得できているのか理解できないでいます。
今回もアドバイスを頂けると助かります。 m(_ _)m


private ActionForward __doConfirm
<snip>
saveToken(req);

これもちょっと気になるけど。

OS:WindowsXP Pro Sp3
java:1.6.0_07
Tomcat:5.5.27
gsession2:2.1.3

投稿者snip
最新書き込み2008/11/12 22:55:59
[ 1465 ] Re: 掲示板(bbs070.do)[戻る]ボタンの情報引継ぎについて

> まだ[スレッド新規作成確認]bbs070kn.jspの画面で[OK]していなく、public int insertThreadData
> が実行されていないし、要はDB登録していないのに、どうして取得できているのか理解できないでいます。
> 今回もアドバイスを頂けると助かります。 m(_ _)m

GSの入力で確認画面がある箇所は全てそうだと思いますが、
入力画面の値を確認画面ではhtml:inputのhiddenで保持しています。

戻るボタンで戻った場合、この保持した値を表示しています。

strutsでは入力項目のパラメータ名と同名の値がリクエストに含まれている場合、
その値を入力項目にセットします。

そのため疑問の動作が可能となっています。

> private ActionForward __doConfirm
> <snip>
> saveToken(req);
> ↑
> これもちょっと気になるけど。

これは二重投稿を防止するための処理です。

例えばスレッドを新規作成し、完了画面を表示したとします。
その後でブラウザの戻るボタンをクリックした場合、
ブラウザはスレッド新規作成時のリクエストをサーバへ送信するため、
上記の処理がない場合は同じ内容が二重に登録されてしまいます。

それを防止するために上記の処理が入っています。

投稿者アイスランド
最新書き込み2008/11/12 23:16:56
[ 1494 ] Re: Re: 掲示板(bbs070.do)[戻る]ボタンの情報引継ぎについて

アイスランド様

 回答ありがとうございます。

 情報引き継ぎについては詳しい解説をして頂いたおかげで理解することが
できました。理解するのに多少時間がかかりましたが(^^;;

 しかし、まだまだ判らない部分が多いために、機能追加の改造をしていくと
Try &errorの繰り返しになっています。

 それでも、理解できないときには、アドバイスのほど宜しくお願い致します。

 今回は丁寧な回答本当にありがとうございました。m(__)m

投稿者snip
最新書き込み2008/11/20 08:47:13
スレッドURLhttps://groupsession.jp/wbs/bulletin/bbs080.do?bbs010forumSid=3&threadSid=477
 


TOP